friedrich-alexander-universit at erlangen-n urnberg · kapitel 2. h.265/hevc und hm encoder 3...
TRANSCRIPT
Friedrich-Alexander-Universitat Erlangen-Nurnberg
Lehrstuhl fur Multimediakommunikation und
Signalverarbeitung
Prof. Dr.-Ing. Andre Kaup
Bachelorarbeit
Parameteroptimierung fur dieverlustbehaftete Kompression
medizinischer Datensatze mittelsH.265/HEVC
von Maximilian Langohr
August 2017
Betreuer: Karina Jashkolka
Erklarung
Ich versichere, dass ich die vorliegende Arbeit ohne fremde Hilfe und
ohne Benutzung anderer als der angegebenen Quellen angefertigt habe,
und dass die Arbeit in gleicher oder ahnlicher Form noch keiner anderen
Prufungsbehorde vorgelegen hat und von dieser als Teil einer Prufungs-
leistung angenommen wurde. Alle Ausfuhrungen, die wortlich oder sinn-
gemaß ubernommen wurden, sind als solche gekennzeichnet.
————————————
Ort, Datum
————————————
Unterschrift
INHALTSVERZEICHNIS I
Inhaltsverzeichnis
Kurzfassung III
Abkurzungsverzeichnis IV
Formelzeichen V
1 Einleitung 1
2 H.265/HEVC und HM Encoder 3
2.1 H.265/HEVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 CTUs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.2 Parallelisierbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.3 Inter-/Intrapicture Prediction . . . . . . . . . . . . . . . . . . . 6
2.1.4 Quantisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.5 Entropiekodierung . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Range Extension RExt . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 HM Coder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Testumgebung und Durchfuhrung 9
3.1 Testkriterien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.1 PSNR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.2 Subjektive Qualitat . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 Durchfuhrung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
II
3.2.1 Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4 Zusammenfassung und Bewertung 29
4.1 Zusammenfassung der Ergebnisse . . . . . . . . . . . . . . . . . . . . . 29
4.2 Ausblick und Schlusswort . . . . . . . . . . . . . . . . . . . . . . . . . 31
A Anhang Kapitel 2 33
A.1 Range Extension RExt . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
B Anhang Kapitel 3 38
B.1 Durchfuhrung render.py . . . . . . . . . . . . . . . . . . . . . . . . . . 38
B.2 Durchfuhrung bjontegaard.m . . . . . . . . . . . . . . . . . . . . . . . 40
Abbildungsverzeichnis 45
Tabellenverzeichnis 46
Literaturverzeichnis 49
KURZFASSUNG III
Kurzfassung
Moderne bildgebende Verfahren wie der Magnetresonanztomograph (MRT) oder der
Computertomograph (CT) sind in der Lage verlgeichsweise hochauflosende Bilder aus
dem inneren des menschlichen Korpers zu erzeugen. In dieser Arbeit soll untersucht
werden, ob es moglich ist dieses Material mit dem neuen H.265/HEVC Kompressions-
standard verlustbehaftet zu komprimieren, ohne dabei einen Verlust von diagnostisch
wichtigen Informationen in Kauf nehmen zu mussen. Im Verlauf der Arbeit werden
dazu verschieden Parameter des Algorithmus untersucht und deren Einfluss auf die
Qualitat und Große der Dateien getestet. Nach Abschluss der Tests wird sich zeigen,
dass es zwar Potential fur eine Verbesserung der Kompressionsrate gibt, allerdings ist
dies nur in einem sehr geringen Maß moglich, da die Gefahr des Verlustes von wichtigen
Informationen sehr hoch ist.
IV ABKURZUNGSVERZEICHNIS
Abkurzungsverzeichnis
AVC advanced video coding
CABAC Context-based Adaptive Binary Arithmetic Coding
CT Computertomograph
CTB Coding Tree Block
CTU Coding Tree Unit
CU Coding Unit
ESD Early SKIP-Detection
FEN Fast Encoder Setting
HDR High Dynamic Range
HEVC High Efficiency Video Coding
JCT-VC Joint Collaborativ Team on Video Coding
GOP Group of Pictures
MPEG Moving Picture Experts Group
MRT Magnetresonanztomograph
MSE Mean squared error
PSNR Peak Singal-to-Noise Ratio
RD-Plot Rate-Distortion Plot
RExt Range Extension
SAD Sum of absolute Diffrences
URQ Uniform reconstruction quantization
VCEG Video Coding Experts Group
FORMELZEICHEN V
Formelzeichen
i i-te Zeile des Bildes
j j-te Spalte des Bildes
M Hohe des Bildes
N Breite des Bildes
Qs Parameter der Quantisierung
MAX Maximal moglicher Wert eines Pixels
f(Qs) Breite der Quanitiserung
fij Wert des Pixels an der Stelle (i,j) des Bildes f
gij Wert des Pixels an der Stelle (i,j) des Bildes g
X(i, j) Wert des Pixels in der i-ten Zeile und j-ten Spalte
Xq(i, j) Wert in der i-ten Zeile und j-ten Spalte nach der Quantisierung
KAPITEL 1. EINLEITUNG 1
Kapitel 1
Einleitung
Am 8. November 1895 entdeckte Wilhelm Conrad Rontgen eine neue Art von Strah-
lung. Diese Strahlung, auch Rontgen-Strahlung genannt, wurde schon kurz nach ihrere
Entdeckung dazu verwendet, um in den Korper von Patienten zu schauen. Genauer
gesagt, wurden dabei ausschließelich die Knochen untersucht, da die erste Generation
dieser Art von Geraten keine hoher Auflosung zugelassen hat. Die ersten Bilder dieser
Gerate wurde auf Platten aufgenommen, die sich durch die Strahlung schwarzten und
somit im Negativ den Knochen und etwaige Schaden zum Vorschein brachten. Die-
se Aufnahmen waren sehr ungenau und konnte nicht ohne weiteres dupliziert werden
oder an andere Arzte weitergereicht werden. Einige Jahrzehnte spater, im Jahr 1972,
erschienen die ersten Computertomopgrahen (CT). Diese bassierten immer noch auf
dem gleichen Prinzip wie das Gerat von 1895, allerdings waren diese nun um ein vielfa-
ches effektiver und hochauflosender als die Gerate der ersten Generation. Mit CTs war
es nun moglich nicht nur mehrer Bilder kurz hintereinenader zu machen, sondern diese
waren nun auch digital. Es bestand also die Moglichkeit, diese Bilder auf Festplatten
oder CDs zu speichern und weiterzuverwenden. Parallel dazu kamen weitere Bildge-
bende Verfahren, wie der Magnetresonanztomograph (MRT), im Jahr davor hinzu. Ab
diesem Zeitpunkt war der Trend hin zu digitalen Bildsystemen nicht mehr aufzuhal-
ten. Folglich hat sich die Bildqualitat und Auflosung der Gerate verbessert. Mit dieser
Verbesserung kommt aber auch die Frage, wie man das ganze Material speichern soll
2
und wer alles darauf zugreifen darf.
Wieder einige Jahrzehnte spater, am 3. Dezember 2015, verabschiedet der Bundestag
das “Gesetz fur sichere digital Kommunikation und Anwendung im Gesundheitswesen“
[kurz E-Health Gesetz] [Bun15]. Mit diesem Gesetz soll gewahrleistet werden, dass bis
Ende 2018 die Infrastruktur geschaffen wird, um Patienteninformation online abrufen
zu konnen. Dabei soll das System schlussendlich in der Lage sein alle fur eine Untersu-
chung relevanten Informationen abspeichern zu konnen. Dies wurde in Zukunft dann
auch Bildmaterial von Untersuchungen beinhalten.
An dieser Stelle setzt diese Arbeit an, denn diese Unmengen an Daten mussen effizient
gespeichert werden, damit die Kosten fur Speicherplatz und die Bandbreite der meisten
Internetanschlusse (z.B. in Arztpraxen) nicht zu sehr strapaziert werden. In diesem Fall
soll dabei der Codec H.265/HEVC (High Efficiency video Coder) verwendet werden.
Als Nachfolgder des H.264/AVC (Advanced Video Coding) soll dieser eine fast doppelt
so hohe Kompression ermoglichen [SOHW12]. Dabei konnen Bilder oder, wie in die-
sem Fall, Videosequenzen auf zwei Arten komprimiert werden. Zum einen verlusstfrei,
d.h. die Qualitat bleibt bei hoherer Kompression gleich oder verlustbehaftet, d.h. die
Qualitat wird bei hoherer Kompression schlechter.
In dieser Arbeit soll untersucht werden, in wie weit das Bildmaterial verlustbehaftet
komprimiert werden kann, ohne das die Qualitat derartig verringert wird, dass eine
weitere Analyse unmoglich oder unzuverlaslig ware. Dabei sollen verschiedene Para-
meter des Algorithmus untersucht werden und eine moglichst optimale Konfiguration
gefunden werden.
An dieser Stelle mochte ich mich noch fur die Unterstutzung durch das Martha-Maria
Krankenhaus in Nurnberg bedanken. Insbesondere mochte ich mich bei Herrn Pro-
fessor Dr. med. Karl Engelhard (Chefarzt der Radiologie) und Herrn Dr. med Artur
Osten (Leitender Oberarzt der Radiologie) fur die Bereitstellung von medizinischen
Bildmaterial bedanken.
KAPITEL 2. H.265/HEVC UND HM ENCODER 3
Kapitel 2
H.265/HEVC und HM Encoder
2.1 H.265/HEVC
Der H.265/HEVC als Nachfolger des H.264/AVC ist ein vielversprechender Kandidat
fur die in dieser Arbeit beschriebenen Probleme. Entwickelt wurde der Codec von dem
Joint Collaborativ Team on Video Coding (JCT-VC), welches sich aus der ITU-T Vi-
deo Coding Experts Group (VCEG) und der ISO/IEC Moving Picture Experts Group
(MPEG) zusammen setzt [BHS+13]. Ursprunglich fur die Unterhaltungsindustrie kon-
zeptiert und vertrieben, haben sich dieser und vergleichbare Codec als außerst effizient
erwiesen. Insbesondere der HEVC hat eine besondere Erweiterung des Standards na-
mens RExt (Range Extension). Diese Erweiterung ist besonders fur folgende Szenarien
gut geeignet [FMN+16]:
• Video-Broadcasting im Chromaformat 4:2:2, bei 10 Bit pro Pixel
• Speichern und Ubermitteln von Videomaterial aus professionelen Kameras
• Kompression von HRD (High Dynamic Range)Inhalten
• Verbesserte verlustlose Kompression
• Kodierung von Bildschirminhalten
4
Abbildung 2.1: Aufbau des H.265/HEVC Coder aus [SOHW12]
Der HEVC bringt einige interessante neue Funktionen mit sich, die ihm uberhaupt die-
se erstklassige Performance ermoglichen. Gleichzeitig wurden viele Features aus dem
Vorganger ubernommen oder verbessert. Die wichtigsten Neuerungen und Verbesse-
rungen werden in folgenden Abschnitten kurz aufgefuhrt. Auf einige von diesen wird in
spateren Kapiteln tiefer eingegangen. Abbildung 2.1 zeigt den generellen Aufbau des
Coders. Wie man schon zu Beginn sehen kann, wird das zu kodierende Bild als Erstes
in seine Coding Tree Units (CTU) aufgeteilt. Diese Einteilung bildet die Grundlage fur
alle weiteren Funktionen und Eigenschaften des Coders.
2.1.1 CTUs
Eine neue Funktionalitat im HEVC waren die sogenannten “Coding Tree Units“ bzw.
“Coding Tree Blocks“(CTB). Dabei wird ein Bild in verschiedene CTUs unterteilt.
Jede CTU besteht aus Luma CTBs und Chroma CTBs. Die Große einer CTU kann
dabei zwischen 16, 32 und 64 Pixeln variieren, was besonders bei 4K Aufnahmen sehr
2.1. H.265/HEVC 5
hilfreich ist. [SOHW12, S. 1655] In Abblidung 2.2 kann man den Aufbau eines solchen
CTB sehen. Der Coding Block (CB) kann dabei, je nach vorgesehener Tiefe, immer
wieder unterteilt werden. Ob ein Block weiter unterteilt werden soll oder nicht wird uber
eine Flag bestimmt, die dem Block ubergeben wird. Die dicken Linien reprasentieren
dabei die Grenzen eines CB und die gestichelten Linien, die eines Transform Blocks
(TB). Der Baum wird dadurch aufgebaut, dass der CB von links nach rechts und von
oben nach unten ausgelesen wird. Jeder neue Split in weiter CBs erzeugt einen neuen
Knoten im Baum.
Abbildung 2.2: Aufbau eines CTB aus [SOHW12]
2.1.2 Parallelisierbarkeit
Auf Grund der Einteilbarkeit des Bildes in CTUs, besteht die Moglichkeit den Kodier-
vorgang zu parallelisieren. Dazu werden CTUs in sogenannte Slices eingeteilt. Ein Bild
kann in einen oder mehrere Slices eingeteilt werden. Jeder Slice enthalt ebenfalls eine
oder mehrere CTUs. Ein Slice ist in sich geschlossen, d.h. alle CTUs in diesem Slice
konnen ohne Informationen aus anderen Slices kodiert werden. Dadurch ist es dem
Encoder moglich mehrere Slices unabhangig voneinander zu kodieren. Dies erhoht die
Performance des Encoders merklich [SOHW12, S.1656].
6
2.1.3 Inter-/Intrapicture Prediction
Wie auch schon bei seinem Vorganger nutzt der HEVC Inter- und Intrapicture Pre-
diction. Dabei ist der Aufbau der GOP (Group of Picture) vergleichbar der des AVC.
Bassierend auf einem Bild mit Intraprediktion folgt eine Reihe von Bildern, die auf
Interprediktion basieren. Der grundlegende Aufbau ware ein I-Frame (Intra-Frame),
also einem vollstandigen Standbild, dass fur weitere Frames als Referenz dient und
eine Reihe von B-Frames, die auf den I- und andere B-Frames referenzieren.
2.1.4 Quantisierung
Was zum Vorganger gleich bleibt, ist die Quantisierung. Hier wird ebenfalls die URQ
(uniform reconstruction qunaitzation) verwendet. In seiner Grundidee sieht der Algo-
rithmus zur Bestimmung des quantisierten Wertes xQ(i, j) wie folgt aus:
Xq(i, j) = sign{X(i, j)}|X(i, j)|+ f(Qs)
Qs
(2.1)
Qs ist der Parameter fur die Quantizierung.Die Parameter i und j bestimmen die Zeile
und Spalte im Bild. X(i, j) ist somit der Wert des Pixels an der Stelle (i, j). Die Breite
der Quantizierung wird durch f(Qs) definiert. Diese Implementierung sieht allerdings
eine Ganzzahldivision durch den Encoder vor. In spateren Implementierungen wurde
diese durch divisionsfreie Algorithmenn ersetzt, siehe [MHKK03, S. 600] und [Bjø98].
2.1.5 Entropiekodierung
Im Gegensatz zum AVC nutzt der HEVC nur noch CABAC (Context-based adapti-
ve Binary Arithmetic Coding) [SMW03] als Algorithmus. Dieser ist in seinem Kern
auch unverandert geblieben. Die Besonderheit an CABAC sind die sich dynamisch an-
passbaren Kodiertabellen. Diese ermoglichen der Algorithmus sich an das zu kodierende
Material anzupassen. Der Algorithmus besteht dabei im Grunde aus drei Schritten.
1. Nicht binare Elemente in binar Strings (sog. bin string) umwandeln
2.2. RANGE EXTENSION REXT 7
2. Basierend auf den “bin string“ passendes Modell ermitteln
3. Arithmetische Binarkodierung
Neben diesen wichtigen Neuerungen und Verbesserungen gibt es eine ganze Reihe an
kleinerer Verbesserungen auf die in dieser Arbeit nicht weiter eingegangen werden soll.
2.2 Range Extension RExt
Neben den verschiedenen Standard-Funktionen des HEVC gibt es noch eine Reihe von
Profilen, die je nach Szenario den Encoder optimieren und so das beste Ergebnis fur
die jeweilige Situation erzielen. In dieser Arbeit wird besonders eines dieser Profile
betrachtet. Dabei handelt es sich um die sogenannte “Range Extension“ kurz RExt.
Die RExt Erweiterung zielt insbesondere auf Bereiche der Post-Produktion, Verteilung,
Archivierung und Verarbeitung von medizinischen Material ab. Dabei wird mit dieser
Erweiterung Bildmaterial in 4:2:2 und 4:4:4 Chromaformat unterstutzt. Ebenso sind
Bittiefen jenseits von 10 Bit moglich [FMN+16].
In dieser Arbeit wurden alle Bildsequenzen mit dieser Erweiterung kodiert. Dabei wur-
den die Anderungen an den verschiedene Paramter immer bassierend auf dieser Erwei-
terung vorgenommen. Die Konfiguration des entsprechenden Profils im Standard ist
im Anhang zu finden.
2.3 HM Coder
Als Implementierung des HEVC wurde in dieser Arbeit die Referenzsoftware HM
(HEVC Test Model) in der Version 16.9 verwendet. Diese wurde von der ITU-T Video
Coding Experts Gourp (VCEG, Frage 6 der ITU-T Studiengruppe 16) und der ISO/IEC
Moving Picture Experts Group (MPEG, Arbeitsgruppe 11 des Subcommittee 29 des
ISO/IEC Joint Technical Committee 1) entwickelt, um Forschern und anderen Ent-
wicklern die Moglichkeit zu geben eigene Implementierung zu testen und den Codec
8
besser zu verstehen. Auf Grund dieser Funktion als “Standard“ wurden alle Tests in
dieser Arbeit mit dieser Implementierung durchgefuhrt.
KAPITEL 3. TESTKRITERIEN UND DURCHFUHRUNG 9
Kapitel 3
Testumgebung und Durchfuhrung
3.1 Testkriterien
3.1.1 PSNR
Der PSNR oder auch Peak signal-to-noise ration ist ein Maß fur das Verhaltnis zwi-
schen der maximal moglichen Leistung eines Signals und dem eines durch Rauschen
korrupierten Signals. Dabei wir der Algorithmus dazu verwendet, um die Qualitat eines
rekonstruierten Bildes zu bewerten. Nachdem es sich in unserem Fall um Bildsequenzen
handelt, wird der durchschnittliche PSNR berechnet um die Qualitat der Sequenz zu
beurteilen. Fur ein einzelnes Bild wird der PSNR am Besten uber den MSE (Mean squa-
red error) bzw. der durschnittlichen quadratischen Abweichung berechnet. Die Formel
dazu sieht wie folgt aus.
MSE(f, g) =1
MN
M∑i=1
N∑j=1
(fij − gij)2 (3.1)
Dabei wird Pixel fur Pixel das Quadrat der Differenz des rauschfreien (Bild f) und ver-
rauschten Bildes (Bild g) gebildet. Diese wird dann aufsummiert und durch das Produkt
der Hohe M und Breite N des Bildes geteilt [AH10, S. 2366]. Aus der quadratischen
10
Abweichung lasst sich nun das Signal-Rausch-Verhaltnis berechnen.
PSNR(f, g) = 10 log10
(MAX2
MSE(f, g)
)(3.2)
Dabei ist MAX der maximal mogliche Wert eines Pixels in dem zu untersuchenden
Bildes. Bei einem Bild mit einer Bit-Tiefe von 8 Bit, ware das ein Wert von 255. Je
hoher der Wert des PSNR ist, desto besser ist die Qualitat des verrauschten Bildes.
Dabei wird allerdings ausschließlich auf die nummerischen Differenzen zwischen den
Bilder rucksicht genommen. Daraus lassen sich zwar Ruckschlusse uber die Qualitat
des Gesamtbildes schließen, allerdings konnen immer noch lokale Fehler auftretten, die
einen großen Einfluss auf die subjektive Wahrnehmung des Bildes haben.
3.1.2 Subjektive Qualitat
Neben objektiven Kriterien, wie dem PSNR, spielt auch die subjektive Wahrnehmung
eine große Rolle. Verschiedene Modelle versuchen diese subjektive Wahrnehmung zu
modelieren aber konnen diese auch nur annahern und nicht vollstandig Abbilden. Ge-
nauso haben verschiedene Arten von Bildern unterschiedliche Anspruche an Qualitat
und werden entsprechend unterschiedlich wahrgenommen.
In diesem Fall handelt es sich um monochromes medizinisches Bildmaterial, dass aus
MRT oder CT Gerate kommt. Dabei handelt es sich meistens um Schichtbilder von
Organen oder ganzene Korperteilen. Die Aufnahme solcher Bilder kann sich unter
Umstanden als schwer erweisen, da sich der Patient bewegt, selbst wenn er moglichst
ruhig liegt.
In diesem Kapitel sollen einige Kriterien definiert werden, die genutzt werden konnen
um das vorliegende Material bewerten zu konnen. In den meisten Fallen spiegelt der
PSNR die tatsachliche Qualitat der Bilder wieder und es ist keine subjektive Bewer-
tung notig. Dies ist zumindestens bei den Bilsequenzen der Fall, die in dieser Arbeit
untersucht wurden.
Zuerst schauen wir uns aber an, was fur Material uberhaupt vorliegt und welche Beson-
derheiten diese Aufnahmen haben. Fur diese Arbeit untersuchen wir zwei unterschied-
3.1. TESTKRITERIEN 11
liche Aufnahmen. Zum einen einen CT-Scan eines Herzens (heart063, 10 Frames) und
zum anderen ein MRT-Scan eines Gehirns (MR head,176 Frames). Die Aufnahmen aus
dem CT hat eine Auflosung von 512 × 512 Pixeln und eine Farbtiefe von 12 Bit. Die
Aufnahme aus dem MRT hat eine Auflosung von 320× 320 Pixeln und eine Farbtiefe
von 8 Bit. Beide Aufnahmen sind Graustufenbilder.
MRT
Zu Begin schauen wir uns die Aufnahme aus dem MRT an und welche Besonderheiten
diese aufweisst. Bei der Aufnahme fallt sofort die klare Abtrennung der Gehirnfalten
und der beiden Hemispahren auf. Am Anfang der Aufnahme kann man noch das Klein-
hirn sehen. Hier gibt es sehr feine Strukturen, die naturlich auch nicht verschwinden
durfen.
(a) MRT Kleinhirn (b) Referenzbild MRT
Abbildung 3.1: Bilder der Sequenz MRT
Nachdem es in dieser Aufnahem kaum bis gar keine “Bewegung“ gibt wird es hier
besonders interesant sein, wie viel Einfluss die Kompression auf die feinen Strukturen
im Kleinhirn haben wird und in wie weit zum Beispiel die Ubergange zwischen den
Gerhinrfalten verschwimmen.
12
CT
Im Vergleich zum MRT sieht die Aufnahme aus dem CT deutlich anders aus. Hier
wurde ein schlagendes Herz aufgenommen. Dies fuhrt dazu, dass es eine tatsachliche
Bewegung in der Aufnahme gibt. Ebenso fallt auf, dass der Kontrast in der Aufnahme
deutlich schwacher ist, als zum Beispiel beim MRT. Dies fuhrt dazu, dass die Ubergange
zwischen den Kammern des Herzen sehr schwer zu erkennen sind. Erschwerend kommt
dann noch die Bewegungsunscharfe hinzu.
Abbildung 3.2: Referenzbild fur das CT
Die Kontraktion des Herzen geschieht in gerade einmal 8 Frames. Die Frage wird also
sein, wie sehr wird die Bewegungsvorhersage Einfluss auf die scharfe der Aufnahme
haben. Genaues gibt es sehr große Flachen mit nur sehr wenig Struktur. Die Quanti-
sierung wird hier sehr viel an Daten einsparen, allerdings kann dies in Kombination
mit der Bewegung zu einer noch großeren Unscharfe an den Uberangen fuhren.
3.2 Durchfuhrung
Fur die Durchfuhrung der Tests wurde ein Python Skript verwendet (siehe Anhang
B.1), dass es erlaubt eine bestimmte Datei automatisch mit einer Reihe von Parametern
kodieren zu lassen. Das Skript dient lediglich dazu, den Vorgang teilweise zu automati-
sieren. Alle Tests wurde immer in Kombination mit dem Parameter QP durchgefuhrt.
Die genaue Erlauterung der Parameter folgt in den kommenden Kapiteln. Die weitere
3.2. DURCHFUHRUNG 13
Auswertung der Ergebnisse und besonders die Erstellung der Graphen wurde mit Hilfe
von MATLAB durchgefuhrt. Hierbei wurde unter anderem das Bjøntegaard Delta ver-
wendet (Skript siehe Anhang B.2) um den durschnittlichen Zuwachs des PSNR oder
die prozentuale Ersparniss in der Bitrate zwischen zwei RD-Plots (Rate-Distortion) zu
ermitteln. [Bøn]
3.2.1 Parameter
Quantisierung
Der erste Paramter, der in dieser Arbeit untersucht werden soll, ist der fur die Quanti-
sierung. Wie in Kapitel 2.1 schon beschrieben, nutzt der HEVC fur die Quantisierung
den URQ.
Fur eine erste Testreihe wurden die Werte 0, 5, 10, 20, 25, 30, 35, 40, 50 ausgewahlt.
Dabei soll vor allem der Bereich um QP=30 betrachtet werden, da dieser dem Stan-
dardwert entspricht und es zu erwarten ist, dass sich der optimale Bereich zwischen
Kompression, Datenrate und Qualitat in dessen Umfeld befinden wird.
Als erstes betrachten wir die Bildsequenz aus dem MRT. Die Ergebnisse aus dieser
Testreihe werden im weiteren Verlauf als Referenz fur alle anderen Parameter, die in
Kombination mit der Quantisierung verwendet werden, hergenommen.
0 2,000 4,000 6,000 8,000 10,000 12,00020253035404550556065707580
Bitrate in kbit/s
PSN
Rin
dB
Abbildung 3.3: RD Plot fur MR
In dem Graphen sind auf der X-Achse die Bitraten in kbits/s und auf der Y-Achse die
14
PSNR in dB aufgetragen. Die Datenpunkte entsprechen den QP Werten in absteigender
Reihenfolge, d.h. der erste Punkt von links aus betrachtet entspricht dem PSNR und
Bitratenwert bei QP=50. An dieser Reihe besonders auffallig, ist der Sprung zwischen
QP=5 und QP=0.
(a) MRT bei QP = 0 (b) MRT bei QP = 30
(c) MRT bei QP = 40
Abbildung 3.4: Bilder aus dem MRT mit verschiedenen QP-Werten
An Hand Abbildung 3.4 kann man erkenne, dass ab QP=30 die Qualitat schon derartig
nachgelassen hat, sodass man im Bereich des Kleinhirns keine Strukturen mehr erken-
nen kann. Im unteren Drittel des Schadels, bzw. Gehirns verschwimmen die Grenzen zu
verschiedenen Gewebeschichten. Wurde man nun einen noch hoheren QP-Wert wahlen,
3.2. DURCHFUHRUNG 15
so ware eine Analyse des Bilder gar nicht mehr moglich. Beispielhaft in Abbildung 3.4c
zu sehen.
Aus diesen Ergebnissen lasst sich der Parameter fur die Quantisierung, bei dieser Bield-
sequenz, auf einen Bereich unterhalb von QP=30 und oberhalb von QP=10 schatzen.
Die gleiche Testreihe wurde jetzt noch mit der Bildsequenz aus dem CT durchgefuhrt.
0 1,000 2,000 3,000 4,000 5,000 6,00030
35
40
45
50
55
60
65
Bitrate in in kbit/s
PSN
Rin
dB
Abbildung 3.5: RD Plot fur CT
Im Gegensatz zu der vorherigen Sequenz gibt es hier keinen Sprung im Graphen. Auch
hier lasst sich an Hand einiger Beispiele zeigen, dass ab einem QP-Wert von 30 die
Bildqualitat erheblich nachlasst. Dabei verschwimmen auch hier, wie in Abblidung 3.7
zu sehen, die Grenzen zwischen den verschiedenen Bereichen des Herzen, bzw. der
Herzkammern.
Coding Unit
Im zweiten Schritt wurde untersucht, welchen Unterschied es macht eine kleinere ”Co-
ding Unit” zu wahlen. Der HEVC unterstutzt dabei Großen von bis zu 64 x 64 Pixeln.
Da die vorhandenen Bildsquenzene eine relativ kleine Auflosung von nur 320 × 320
Pixeln, bzw. 512 × 512 Pixeln haben, wurden bei einer CU von 64 × 64 jeweils nur
5 bzw. 8 CUs nebeneinander passen. Die Idee war es die Blockgroße auf 32 × 32 Pi-
xel zu verkleiner, um mehr Blocke pro Frame unterzubekommen, sodass dem Encoder
mehr Moglichkeiten der Kompression zur Verfugung stehen. Das wurde bedeuten, dass
16
Abbildung 3.6: CT bei QP = 0 Abbildung 3.7: CT bei QP = 30
anstatt 5 (8) CUs bei 320 × 320 (512 × 512) Pixeln nun 10 (16) CUs genutzt werden
konnen. Diese Testreihe wurde ebenfalls wieder mit den QP-Werten aus der Referenz-
Reihe durchgefuhrt. Fur die Sequenz aus dem MRT sieht der Graph wie folgt aus.
0 2,000 4,000 6,000 8,000 10,000 12,00020253035404550556065707580
Bitrate
PSN
R
ReferenzCU=32
Abbildung 3.8: RD Plot fur MR bei CU=32
Die durchschnittliche Differenz der PSNR Werte, zwischen der Referenzkurve und der
Kurve aus dieser Testreihe betragt -0.0008 dB. Der Gewinn ist also uberschaubar.
Fuhrt man den gleichen Test auch mit der CT Sequenz aus, bekommt man folgendes
Ergebnis.
3.2. DURCHFUHRUNG 17
0 1,000 2,000 3,000 4,000 5,000 6,00030
35
40
45
50
55
60
65
Bitrate in kbit/s
PSN
Rin
dB
ReferenzCU=32
Abbildung 3.9: RD Plot fur CT bei CU=32
Hier betragt die durchschnittliche Differenz -0,2025 dB. Hier ist der Gewinn schon
deutlicher als beim MRT, auch wenn das aus dem Graphen nicht sofort ersichtlich
wird. Man kann schlussendlich sagen, dass es eine Verbesserung der Qualitat durch
die Verkleinerung der CUs gibt. Dieser wird wie eingangs vemutet darauf basieren,
dass dem Encoder mehr CUs pro Frame zur Verfugung stehen, die er fur verschiedene
Kompressionmechanismen einsetzen kann.
Motion Estimation
Eine weitere Gruppe an Parametern, die untersucht wurde, waren der Bewegungs-
vorhersage zuzuordnen. Im Standard des verwendeten Profils wird als Modus fur die
Bewegungsvorhersage der Test Zone Search Algorithmus (TZSearch), verwendet. In
diesem Test soll an Stelle der TZSearch der Full Search Algorithmus genutzt werden.
Die Annahme ist, dass der Full Search Algorithmus eine hoher Genauigkeit als der
TZSearch Algorithmus liefert, da dieser alle moglichen Bewegunsvektoren im Suchfen-
ster miteinbezieht. Im Gegenzug ist dieser um ein vielfaches langsamer als die TZ-
Search [LWW+14, S. 1].
18
0 2,000 4,000 6,000 8,000 10,000 12,00020253035404550556065707580
Bitrate in kbit/s
PSN
Rin
dB
ReferenzFullSearch
Abbildung 3.10: RD Plot fur MR FullSearch
Auch hier betrachten wir zu erst die Bildequenz aus dem MRT. Dabei kann man gut
sehen, das es fast keinen Unterschied macht, ob man Fast oder Full-Search verwendet.
Im Durschnitt liegt die Differenz im PSNR bei 0.0752 dB. Das Ergebnis lasst sogar auf
eine Verschlechterung des PSNR Werte schließen.
Nur minimal positiv sieht das Ergebnis fur die Seqeuenz aus dem CT aus.
0 1,000 2,000 3,000 4,000 5,000 6,00030
35
40
45
50
55
60
65
Bitrate in kbit/s
PSN
Rin
dB
ReferenzFullSearch
Abbildung 3.11: RD Plot fur CT FullSearch
Die Durschnittliche Differenz in den PSNR Werten betragt hier -0.2587 dB. Im Gegen-
satz zum MRT ist hier eine Verbesserung der Werte zu beobachten.
Der Parameter HadamardME steuert, ob SAD (Sum of absolute differences) oder
die Hadamard-Transformation fur die Kostenschatzung eingesetzt werden soll. Stan-
3.2. DURCHFUHRUNG 19
dardmaßig wird Hadamard benutzt. Wenn man die Testreihe mit SAD anstelle von
Hadamard kodiert, erhalt man folgende Ergebnisse.
0 2,000 4,000 6,000 8,000 10,000 12,00020253035404550556065707580
Bitrate in kbit/s
PSN
Rin
dB
ReferenzSAD
Abbildung 3.12: MR mit SAD
0 1,000 2,000 3,000 4,000 5,000 6,00030
35
40
45
50
55
60
65
Bitrate in kbit/s
PSN
Rin
dB
ReferenzSAD
Abbildung 3.13: CT mit SAD
Fur die Sequenz aus dem MRT erhalt man einen durschnittlichen Verlust von 0.0661
dB , wohingegen beim CT ein Gewinn von durchschnittlich -0.0142 dB zu verbuchen
sind.
Mode Decision
Eine ebenfalls interessante Gruppe an Parametern, sind die fur die sogenannte “Mode
decision“. Mit diesen Parametern kann bestimmt werden, welche Modi benutzt werden
20
sollen und welche nicht. Einer dieser Parameter ist der ESD (Early SKIP Detection).
Mit diesem kann entschieden werden ob der SKIP-Mode vor allen anderen Modi genutzt
werden soll. Dabei stehen dem Encoder 11 verschiedene Modi zur Bestimmung des
Besten “Prediction Unit Modes“ zur Verfugung. Sofern ESD genutzt wird, wird als
erstes uberpruft ob der SKIP-Modus verwendet werden soll. Erst danach werden alle
anderen Modi getestet [JJKB12, S. 449f].
0 2,000 4,000 6,000 8,000 10,000 12,00020253035404550556065707580
Bitrate in kbit/s
PSN
Rin
dB
ReferenzESD
Abbildung 3.14: RD Plot MR und ESD
Fur die MR-Sequenz ergibt sich aus der Verwendung des ESD leider nur ein sehr
kleiner durschnittlicher Gewinn von -0.0330 dB. In Abblidung 3.14 ist dieser kaum
wahrnehmbar.
0 1,000 2,000 3,000 4,000 5,000 6,00030
35
40
45
50
55
60
65
Bitrate in kbit/s
PSN
Rin
dB
ReferenzESD
Abbildung 3.15: RD Plot CT und ESD
3.2. DURCHFUHRUNG 21
Fur das CT fallt der Gewinn sogar noch geringer aus, lediglich -0.0069 dB.
Der letzte Parameter, der im Bereich des “Mode decision“ untersucht werden soll, ist
FEN (Fast Encoder Setting). Dabei stehen hier zwei Tools zur Verfugung, die uber
diesen Parameter ausgewahlt werden Konnen (siehe Tabelle 3.1.
Tabelle 3.1: FEN Coding Tools
Tool A Tool B
Bei der Berechnung mit dem SAD (sum
of absolute diffrences) werden bei Blocken
mit einer Große hoher als acht nur gerade
Zeilen in Betracht gezogen
Die Anzahl der Iterationen bei der Bi-
direktionalen Bewegungsvektorermittlung
wird von vier auf eine reduziert.
Es stehen nun vier Modi zur Verfugung, die bestimmen welche Kombination dieser
Tools verwendet werden soll. In Tabelle 3.2 sind alle Vefugbaren Modi aufgelistet.
Tabelle 3.2: FEN Modi
Modus 0 Keines der beiden Tools wird verwendet
Modus 1 Beide Tools werden verwendet
Modus 2 Nur Tool A wird verwendet
Modus 3 Nur Tool B wird verwendet
Im Standard wird Modus 1 verwendet, also beide Tools gleichzeitig. Im folgenden Gra-
phen kann man nun die Unterschiede zu den verbleibenden Modi sehen.
22
0 2,000 4,000 6,000 8,000 10,000 12,00020
25
30
35
40
45
50
55
60
65
70
75
80
Bitrate in kbit/s
PSN
Rin
dB
Referenz/FEN3FEN0/2
Abbildung 3.16: RD Plot MR und FEN in verschiedenen Modi
Die Modi 0 und 2 geben die gleichen Bitraten und PSNR-Werte zuruck. Im Vergleich
zur Referenz ergibt dies einen durchschnittlichen PSNR-Differenz von 0.0282 dB, also
einen leichten Verlust.
Der Modus 3 erreicht die exakt gleichen Werte, wie die Referenz und ist somit identisch.
0 1,000 2,000 3,000 4,000 5,000 6,00030
35
40
45
50
55
60
65
Bitrate in kbit/s
PSN
Rin
dB
Referenz/FEN3FEN0/2
Abbildung 3.17: RD Plot CT und FEN in verschiedenen Modi
Auch hier verhalten sie die Werte im Grunde, wie bei dem MRT, d.h. die Referenz
und Modus 3 haben die gleichen Werte. Genauso haben Modus 0 und Modus 2 die
gleichen Werte. Der Unterschied zwischen Referenz/Modus 3 und Modus 0/Modus 2
sind 0.0049 dB, also einem leichten Verlust an Qualitat.
3.2. DURCHFUHRUNG 23
Slice Coding
Abbildung 3.18: Aufbau Slices siehe [SOHW12, S. 1656]
Wie bei seinem Vorganer auch gibt es beim HEVC sogenannte “Slices“. Im Fall des
AVC handelte es sich hierbei um Macroblocks. Der HEVC nutzt an dieser Stelle CTBs
(Coding tree blocks). Ein Bild kann in verschieden Slices aufgeteilt werden. Jeder Slice
enthalt eine Reihe von CTUs. Die Große und Form eines Slices unterscheiden sich
von Bild zu Bild. Jeder Slice ist ein in sich abgeschlossenes System, d.h. jeder Slice
kann unabhangig voneinander bearbeitet werden. Alle notigen Informationen fur die
Interpradiktion oder Intrapradiktion sind in dem Slice enthalten. Lediglich an den
Randern eines Slices konnte ein Datenaustausch mit anderen Slices notig sein, um z.B.
einen Deblocking Filter anzuwenden [SOHW12, S. 1656].
Tabelle 3.3: Slice Modi
Modus Erklarung
0 einzelner Slice
1 maximale Anzahl an CTUs pro Slice
2 maximale Anzahl an Bytes pro Slice
3 maximale Anzahl an Tiles pro Slice
Tiles sind eine weitere Form der Unterteilung eines Bildes. Ein Tile ist rechteckig
und kann entweder mehrere Slice enthalten oder mehrere Tiles sind Teil eines Slices.
24
In der Regel enthalten alle Tiles gleich viele CTUs. Dies ist allerdings nicht zwin-
gend notwendig. Tiles dienen ebenfalls dazu, die Parallelisierung des Kodiervorgangs
zu ermoglichen.
Die verschiedenen Modi, die bestimmen wie ein Slice gestalltet ist stehe in Tabelle 3.3.
Im Standard wird Slice 0, also ein einzelner Slice verwendet.
0 2,000 4,000 6,000 8,000 10,000 12,00020
25
30
35
40
45
50
55
60
65
70
75
80
Bitrate in kbit/s
PSN
Rin
dB
Referenz/Slice1/Slice3Slice2
Abbildung 3.19: RD Plot fur MR und verschiedenen Slice-Modi
0 1,000 2,000 3,000 4,000 5,000 6,00030
35
40
45
50
55
60
65
Bitrate in kbit/s
PSN
Rin
dB
Referenz/Slice1/Slice3Slice2
Abbildung 3.20: RD Plot fur CT und verschiedenen Slice-Modi
Wie man bei beiden Graphen sehen kann sticht besonders der Slice Modus 2 hervor.
In beiden Fallen hat dieser nicht nur im Durchschnitt einen geringeren PSNR-Wert,
sondern erzielt auch hohere Bitraten. Slice Modus 1 und 3 hingegen, zeigen kaum einen
3.2. DURCHFUHRUNG 25
Unterschied zur Referenz. Der Versuch so viele Bytes wie moglich pro Slice unterzu-
bekommen scheint also nicht sehr von Vorteil zu sein. Zumindestens nicht in diesen
Beispielen.
Deblocking Filter
Der Deblocking Filter dient dazu Artefakte zu beseitigen, die bei der Kompression mit
rasterartigen Unterteilungen, entstehen. An den Grenzen der einzelnen CTBs enste-
hen Artefakte, durch diese die einzelnen “Felder“ sichtbar werden. Dies ist besonders
bei geringeren Auslosungen sehr storend. Der HEVC arbeitet hier, im Gegensatz zum
AVC, mit einem Raster der große 8 Pixel (AVC 4 × 4 Pixel). Dabei wird in einem
ersten Durchlauf alle vertikalen und danach alle horizontalen Kanten bearbeitet und
die Artefakte beseitig.
0 2,000 4,000 6,000 8,000 10,000 12,00020
25
30
35
40
45
50
55
60
65
70
75
80
Bitrate in kbit/s
PSN
Rin
dB
ReferenzDeblocking
Abbildung 3.21: RD Plot MR ohne Deblocking
Fur das MRT ergibt sich fast kein Unterschied zwischen dem aktivierten und deakti-
vierten Deblocking Filter. Im Durschnitt ist die Qualitat mit aktiviertem Deblocking
nur um -0.0772 dB besser. Deutlicher sieht es bei der Serie aus dem CT aus.
26
0 1,000 2,000 3,000 4,000 5,000 6,00030
35
40
45
50
55
60
65
Bitrate in kbit/s
PSN
Rin
dB
DeblockingReferenz
Abbildung 3.22: RD Plot CT ohne Deblocking
Wie zu vermuten war, zeigt sich besonders bei den hoheren QP-Werten der Unter-
schied zwischen aktivierten und deaktivierten Deblocking Filter. Ab ca. QP=20 kann
man schon optisch am Graphen erkennen, dass die Kurve fur den Deblocking Filter
deutlich besser abschneidet. Hier zeigt sich bei der Testserie aus dem CT, dass einen
durschnittlichen Unterschied in den PSNR-Werten von -0.2604 dB gibt.
PCM Mode
Als letztes soll noch der PCM (Pulse code modulation) Modus betrachtet werden. Da-
bei handelt es sich um einen speziellen Modus, der auf Ebene der CUs eingesetzt werden
kann. Im PCM Modus werden Bewegungsvorhersage, Transformation und Quantisie-
rung umgangen und der Frame wird mit einer festen vorher definierten Anzahl an Bits
dargestellt. Der Grund fur diesen Modus ist der, dass ein ubermaßiger Verbrauch von
Bits verhindert werden soll, wenn das Bildmaterial zu unregelmaßig ist, als das man es
mit hybriden Kodiermechanismen verarbeiten konnte [SOHW12, S.1664].
3.2. DURCHFUHRUNG 27
0 2,000 4,000 6,000 8,000 10,000 12,00020
25
30
35
40
45
50
55
60
65
70
75
80
Bitrate in kbit/s
PSN
Rin
dB
ReferenzPCM
Abbildung 3.23: RD Plot fur MR mit PCM Modus
0 1,000 2,000 3,000 4,000 5,000 6,00030
35
40
45
50
55
60
65
Bitrate in kbit/s
PSN
Rin
dB
ReferenzPCM
Abbildung 3.24: RD Plot fur CT mit PCM Modus
Auch wenn fur die Sequenz aus dem MRT eine leichte Verschlechterung von 0,0712
dB zu verbuchen ist, so verbessert sich die Qualitat fur das CT um -0.018 dB. Beide
Resultate lassen auf einen relativ geringen Einfluss, sowohl positiv als auch negativ
durch den PCM Modus schließen. Der Grund mag daran liegen, dass die einzelnen
Bilder nur sehr geringe Unterschiede aufweisen und somit nur wenige Frames von dem
Modus betroffen sind.
KAPITEL 4. ZUSAMMENFASSUNG UND BEWERTUNG 29
Kapitel 4
Zusammenfassung und Bewertung
4.1 Zusammenfassung der Ergebnisse
Zum Schluss wollen wir uns nochmal alle Ergebinsse im Uberblick anschauen und
auswerten, welchen Gewinn wir nun wirklich erreichen konnten..
In Tabelle 4.1 sind alle Tests und deren Ergebnisse aufgelistet. Zum einen gibt es
DSNR. Dieser wurde schon vorher in dieser Arbeit als durschnittliche Differenz der
PSNR-Werte zwischen der Referenzkurve und der Kurve aus der Testreihe definiert.
RATE steht fur die Bitratenersparnis in Prozent, zwischen den beiden Kurven.
Den großten Erfolg fur die Sequenz aus dem MRT konnte mit dem Slice-Modus 2
verbucht werden. Im Durchschnitt konnte der PSNR um 0.3692 verbessert werden und
gleichzeitig rund 2.94% and Daten gespart werden.
Alle anderen getesteten Parameter hatten einen eher schwachen Einfluss auf das Er-
gebniss. Uber alle Tests hinweg konnte im Durchschnitt der PSNR-Wert um lediglich
0.0176 verbessert werden.
30
Tabelle 4.1: Auswertung der Ergebnisse
MR CT
BD-PSNR in dB BD-RATE in BD-PSNR in dB BD-RATE in
CU32 -0.00081812 0.4363 -0.2025 3.8931
FullSearch 0.0752 -0.8038 -0.2587 5.391
SAD 0.0661 -0.1751 -0.0142 0.343
FEN0 0.0282 -0.0612 0.0049 -0.0948
FEN2 0.0282 -0.0612 0.0049 -0.0948
FEN3 0 0 0 0
ESD -0.033 0.1671 -0.0069 0.1133
Deblocking -0.0772 0.841 -0.2604 5.3985
PCM 0.0712 -0.8189 -0.018 0.2969
Slice1 0 0 0 0
Slice2 -0.3692 2.9389 -0.0735 1.5003
Slice3 0 0 0 0
Fur die Sequenz aus dem CT ergibt sich ein deutlich besseres Bild. Die großte Verbes-
serung gab es an dieser Stelle durch den Deblocking Filter. Im Durchschnitt hat sich
der PSNR-Wert hierbei um 0.2604 verbessert und es konnten rund 5.4% an Datenrate
gespart werden. Auch uber alle anderen Parameter hinweg sieht das Ergebniss fur das
CT besser aus. Im Durschnitt konnten die PSNR-Werte um 0.0687 verbessert werden.
4.2 Ausblick und Schlusswort
Die in dieser Arbeit gemessenen Ergebniss zeigen, dass es durchaus Potenzial gibt, me-
dizinisches Material verlustbehaftet zu komprimieren. Allerdings scheint es nur einen
relativ kleinen Spielraum zu geben, da ein bestimmtes Maß an Qualitat einfach ein-
gehalten werden muss. Der Wunsch Bildmaterial besser komprimieren zu konnen und
die Datengroße zu verkleinern ist nachvollziehbar und macht aus finanzieller Sicht auch
Sinn. Allerdings sind die hier gemessenen Gewinne so gering, dass sich diese kaum loh-
nen wird, bzw. das Risiko, dass doch Informationen verloren gehen hoher ist als der
erhoffte Nutzen.
Basierend auf diesen ersten Ergebnissen musste man in kommenden Arbeiten oder
Forschungen das Testspektrum erweitern und eine Vielzahl von verschiedene Aufnah-
men untersuchen und auswerten. Die Frage wird sein, ob sich die Ersparnis langfristig
wirklich lohnen wird. In Anbetracht des Ausbaus von Glasfasernetzen und den sin-
kenden Preisen von Festplatten und anderen Speichermedien, scheint es fast, dass die
verlustbehaftete Kompression im medizinischen Bereich weniger Sinn macht als z.B.
im Unterhaltungsbereich. Das Risiko doch wichtige Informationen durch Kompression
zu verlieren schein fast hoher zu sein als das es einen kosteneffizienten Nutzen in der
Kompression dieser Daten gibt.
Die kommenden Jahre werden zeigen, in wie weit die Idee einer digitalen Patienten-
akte umgesetzt werden kann und welche Rolle die jetzigen Verfahren spielen werden.
Genauso wird sich zeigen, ob es nicht in wenigen Jahren einen neuen Standard geben
wird, der wie bei dem Wechsel von AVC auf HEVC nochmals eine Verbesserung der
verlustlosen Kompression mit sich bringen wird.
ANHANG A. ANHANG KAPITEL 2 33
Anhang A
Anhang Kapitel 2
A.1 Range Extension RExt
#======== F i l e I /O =====================
Bit s t r eamFi l e : . . / . . / Render/ output b i t . bin
ReconFile : . . / . . / Render/ o u t p u t r e s u l t . raw
SourceWidth : 320
SourceHeight : 320
FrameRate : 25
FramesToBeEncoded : 10
SummaryOutFilename : . . / . . / Render/ r e s u l t . txt
InputChromaFormat : 400
InputBitDepth : 8
#======== P r o f i l e d e f i n i t i o n ==============
P r o f i l e : main−RExt
Tier : main
Level : 5
#======== Unit d e f i n i t i o n ================
MaxCUWidth : 64
34
MaxCUHeight : 64
MaxPartitionDepth : 4
QuadtreeTULog2MaxSize : 5
QuadtreeTULog2MinSize : 2
QuadtreeTUMaxDepthInter : 3
QuadtreeTUMaxDepthIntra : 3
#======== Coding St ruc ture =============
Int raPer i od : −1
DecodingRefreshType : 0
GOPSize : 4
Frame1 : B 1 3 0 0 0 .4624 0 0 0 4 4 −1 −5 −9 −13 0
Frame2 : B 2 2 0 0 0 .4624 0 0 0 4 4 −1 −2 −6 −10 1
−1 5 1 1 1 0 1
Frame3 : B 3 3 0 0 0 .4624 0 0 0 4 4 −1 −3 −7 −11 1
−1 5 0 1 1 1 1
Frame4 : B 4 1 0 0 0 .578 0 0 0 4 4 −1 −4 −8 −12 1
−1 5 0 1 1 1 1
#=========== Motion Search =============
FastSearch : 1
SearchRange : 64
BipredSearchRange : 4
HadamardME : 1
FEN : 3
FDM : 1
#======== Quantizat ion =============
QP : 0
MaxDeltaQP : 0
MaxCuDQPDepth : 0
DeltaQpRD : 0
A.1. RANGE EXTENSION REXT 35
RDOQ : 1
RDOQTS : 1
Sl i ceChromaQPOffsetPer iod ic i ty : 0
S l i ceCbQpOf f se t Int raOrPer iod ic : 0
S l i c eCrQpOf f s e t Int raOrPer iod i c : 0
#=========== Deblock F i l t e r ============
LoopFi l terOf fset InPPS : 0
LoopF i l t e rD i sab l e : 0
LoopF i l t e rBe taOf f s e t d iv2 : 0
LoopF i l t e rTcOf f s e t d iv2 : 0
Deb lock ingF i l t e rMet r i c : 0
#=========== Misc . ============
Interna lBi tDepth : 8
#=========== Coding Tools =================
SAO : 1
AMP : 1
TransformSkip : 1
TransformSkipFast : 1
SAOLcuBoundary : 0
#============ S l i c e s ================
SliceMode : 0
SliceArgument : 1500
LFCrossSliceBoundaryFlag : 1
#============ PCM ================
PCMEnabledFlag : 0
PCMLog2MaxSize : 5
PCMLog2MinSize : 3
PCMInputBitDepthFlag : 1
PCMFilterDisableFlag : 0
36
#============ T i l e s ================
TileUni formSpacing : 0
NumTileColumnsMinus1 : 0
TileColumnWidthArray : 2 3
NumTileRowsMinus1 : 0
TileRowHeightArray : 2
LFCrossTileBoundaryFlag : 1
#============ WaveFront ================
WaveFrontSynchro : 0
#=========== Quantizat ion Matrix =================
S c a l i n g L i s t : 0
S c a l i n g L i s t F i l e : s c a l i n g l i s t . txt
#============ L o s s l e s s ================
TransquantBypassEnableFlag : 0
CUTransquantBypassFlagForce : 0
#============ Rate Control ======================
RateControl : 0
TargetBi t rate : 1000000
KeepHie ra rch i ca lB i t : 2
LCULevelRateControl : 1
RCLCUSeparateModel : 1
In i t i a lQP : 0
RCForceIntraQP : 0
#=========== RExt ============
ExtendedPrec i s ion : 0
TransformSkipLog2MaxSize : 2
ImplicitResidualDPCM : 1
ExplicitResidualDPCM : 1
Res idua lRotat ion : 1
A.1. RANGE EXTENSION REXT 37
Sing leS ign i f i canceMapContext : 1
IntraReferenceSmoothing : 1
GolombRiceParameterAdaptation : 1
HighPrec i s i onPred ic t ionWeight ing : 1
CrossComponentPrediction : 1
### DO NOT ADD ANYTHING BELOW THIS LINE ###
### DO NOT DELETE THE EMPTY LINE BELOW ###
38 ANHANG B. ANHANG KAPITEL 3
Anhang B
Anhang Kapitel 3
B.1 Durchfuhrung render.py
#!/ usr / bin /env python3
import os
from subproces s import c a l l
param QP = [0 , 5 , 10 , 20 , 25 , 30 , 35 , 40 , 50 ]
pa ram input f o lde r ba s e = ” . / . . / . . / Sequenzen /”
param input fo lde r o rgane = ”MR/” #8b i t
#param input fo lde r o rgane = ”CT heart /” #12b i t
#p a r a m i n p u t f i l e = ” heart063 ”
p a r a m i n p u t f i l e = ”MR 02 head 320”
param input = param input f o lde r ba s e +
param input fo lde r o rgane + \
p a r a m i n p u t f i l e + ” . raw”
param output fo lde r base = ” . / . . / . . / Render/”
B.1. DURCHFUHRUNG RENDER.PY 39
c a l l ( [ ” rm”,”− r f ” , param output fo lde r base ] )
c a l l ( [ ” mkdir ” , param output fo lde r base ] )
c a l l ( [ ” mkdir ” , param output fo lde r base +
param input fo lde r o rgane ] )
f o r i in range (0 , 9 ) :
o u t p u t f o l d e r = param output fo lde r base +
param input fo lde r o rgane + \
”QP ” + s t r (param QP [ i ] ) +”/”
d i r = os . path . dirname ( o u t p u t f o l d e r + ” r e s u l t ” +\
s t r (param QP [ i ] ) +”. txt ”)
t ry :
os . s t a t ( d i r )
except :
os . mkdir ( d i r )
c a l l ( [ ” . / TAppEncoderStatic ” , \
”−c ” , ” . / . . / c f g / encoder l owde lay main rext . c f g ” , \
”− i ” , param input ,\
”−q ” , ”20” ,\
”−s r ” , s t r (param QP [ i ] ) ,\
”−o ” , o u t p u t f o l d e r + p a r a m i n p u t f i l e + ” ” + \
s t r (param QP [ i ] ) + ” . yuv ” , \
”−−SummaryOutFilename=” + o u t p u t f o l d e r + ” r e s u l t . txt
” ] )
40
B.2 Durchfuhrung bjontegaard.m
f unc t i on a v g d i f f = bjontegaard (R1 ,PSNR1, R2 ,PSNR2, mode)
%BJONTEGAARD Bjontegaard metr ic c a l c u l a t i o n
% Bjontegaard ’ s metr ic a l l ows to compute the average gain in
PSNR or the
% average per cent sav ing in b i t r a t e between two rate−
d i s t o r t i o n
% curves [ 1 ] .
% D i f f e r e n t l y from the avsnr so f tware package or VCEG Excel
[ 2 ] p lug in t h i s
% t o o l enab l e s Bjontegaard ’ s metr ic computation a l s o with
more than 4 RD
% po in t s .
%
% R1 ,PSNR1 − RD po in t s f o r curve 1
% R2 ,PSNR2 − RD po in t s f o r curve 2
% mode −
% ’ dsnr ’ − average PSNR d i f f e r e n c e
% ’ rate ’ − percentage o f b i t r a t e sav ing between data s e t
1 and
% data s e t 2
%
% a v g d i f f − the c a l c u l a t e d Bjontegaard metr ic ( ’ dsnr ’ or ’
rate ’ )
%
B.2. DURCHFUHRUNG BJONTEGAARD.M 41
% ( c ) 2010 Giuseppe Va l enz i s e
%
% Refe rences :
%
% [ 1 ] G. Bjontegaard , Ca l cu l a t i on o f average PSNR
d i f f e r e n c e s between
% RD−curves (VCEG−M33)
% [ 2 ] S . Pateux , J . Jung , An e x c e l add−in f o r computing
Bjontegaard metr ic and
% i t s evo lu t i on
%
% negat ive / p o s i t i v e de l t a ra t e dec r ea s e / i n c r e a s e (+) o f b i t
r a t e f o r same PSNR
% negat ive / p o s i t i v e de l t a PSNR decrea s e (+)/ i n c r e a s e o f PSNR
f o r the same b i t r a t e
% decrease−Anst ieg inc r ea s e−Abnahme
% convert r a t e s in l oga r i thmi c un i t s
lR1 = log (R1) ;
lR2 = log (R2) ;
switch lower (mode)
case ’ dsnr ’
% PSNR method
p1 = p o l y f i t ( lR1 ,PSNR1, 3 ) ;
p2 = p o l y f i t ( lR2 ,PSNR2, 3 ) ;
% i n t e g r a t i o n i n t e r v a l
min int = max ( [ min ( lR1 ) ; min ( lR2 ) ] ) ;
42
max int = min ( [ max( lR1 ) ; max( lR2 ) ] ) ;
% f i n d i n t e g r a l
p in t1 = p o l y in t ( p1 ) ;
p in t2 = p o l y in t ( p2 ) ;
i n t1 = po lyva l ( p int1 , max int ) − po lyva l ( p int1 ,
min int ) ;
i n t2 = po lyva l ( p int2 , max int ) − po lyva l ( p int2 ,
min int ) ;
% f i n d avg d i f f
a v g d i f f = ( int2−i n t 1 ) /( max int−min int ) ;
case ’ rate ’
% ra t e method
p1 = p o l y f i t (PSNR1, lR1 , 3 ) ;
p2 = p o l y f i t (PSNR2, lR2 , 3 ) ;
% i n t e g r a t i o n i n t e r v a l
min int = max ( [ min (PSNR1) ; min (PSNR2) ] ) ;
max int = min ( [ max(PSNR1) ; max(PSNR2) ] ) ;
% f i n d i n t e g r a l
p in t1 = p o l y in t ( p1 ) ;
p in t2 = p o l y in t ( p2 ) ;
i n t1 = po lyva l ( p int1 , max int ) − po lyva l ( p int1 ,
min int ) ;
B.2. DURCHFUHRUNG BJONTEGAARD.M 43
in t2 = po lyva l ( p int2 , max int ) − po lyva l ( p int2 ,
min int ) ;
% f i n d avg d i f f
a v g e x p d i f f = ( int2−i n t 1 ) /( max int−min int ) ;
a v g d i f f = ( exp ( a v g e x p d i f f )−1)∗100 ;
end
ABBILDUNGSVERZEICHNIS 45
Abbildungsverzeichnis
2.1 Aufbau des H.265/HEVC Coder aus [SOHW12] . . . . . . . . . . . . . 4
2.2 Aufbau eines CTB aus [SOHW12] . . . . . . . . . . . . . . . . . . . . . 5
3.1 Bilder der Sequenz MRT . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Referenzbild fur das CT . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3 RD Plot fur MR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4 Bilder aus dem MRT mit verschiedenen QP-Werten . . . . . . . . . . . 14
3.5 RD Plot fur CT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.6 CT bei QP = 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.7 CT bei QP = 30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.8 RD Plot fur MR bei CU=32 . . . . . . . . . . . . . . . . . . . . . . . . 16
3.9 RD Plot fur CT bei CU=32 . . . . . . . . . . . . . . . . . . . . . . . . 17
3.10 RD Plot fur MR FullSearch . . . . . . . . . . . . . . . . . . . . . . . . 18
3.11 RD Plot fur CT FullSearch . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.12 MR mit SAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.13 CT mit SAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.14 RD Plot MR und ESD . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.15 RD Plot CT und ESD . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.16 RD Plot MR und FEN in verschiedenen Modi . . . . . . . . . . . . . . 22
3.17 RD Plot CT und FEN in verschiedenen Modi . . . . . . . . . . . . . . 22
3.18 Aufbau Slices siehe [SOHW12, S. 1656] . . . . . . . . . . . . . . . . . . 23
3.19 RD Plot fur MR und verschiedenen Slice-Modi . . . . . . . . . . . . . . 24
46
3.20 RD Plot fur CT und verschiedenen Slice-Modi . . . . . . . . . . . . . . 24
3.21 RD Plot MR ohne Deblocking . . . . . . . . . . . . . . . . . . . . . . . 25
3.22 RD Plot CT ohne Deblocking . . . . . . . . . . . . . . . . . . . . . . . 26
3.23 RD Plot fur MR mit PCM Modus . . . . . . . . . . . . . . . . . . . . . 27
3.24 RD Plot fur CT mit PCM Modus . . . . . . . . . . . . . . . . . . . . . 27
TABELLENVERZEICHNIS 47
Tabellenverzeichnis
3.1 FEN Coding Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 FEN Modi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 Slice Modi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1 Auswertung der Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . 30
LITERATURVERZEICHNIS 49
Literaturverzeichnis
[AH10] Alain Hote, Djemal Z.: Image quality metrics: PSNR vs. SSIM. In: 2010
International Conference on Pattern Recognition, IEEE, August 2010, S.
2366 – 2369
[BHS+13] Bross, Benjamin ; Han, Woo-Jin ; Sullivan, Gary J. ; Ohm, Jens-Rainer
; Wiegand, Thomas: High efficiency video coding (HEVC) text spec. draft
10 (for fdis&consent). In: JCT-VC Doc. JCTVC-L1003, 12th Meeting:
Geneva, Switzerland Bd. 1, 2013
[Bjø98] Bjøntegaard, Gisle: Response to Call for Proposals for H.26L. In:
Document Q15-F-11, ITU-T SG 16/Q15, VCEG, November 1998
[Bøn] Bøntegaard, Gisle: Calculation of average PSNR diffrences between RD-
curves
[Bun15] Bundesregierung: Gesetz fur sichere digitale Kommunikation und An-
wendungen im Gesundheitswesen sowie zur Anderung weiterer Gesetze.
Bundesanzeiger Verlag, 2015
[FMN+16] Flynn, David ; Marpe, Detlev ; Naccari, Matteo ; Nguyen, Tung
u. a.: Overview of the Range Extensions for the HEVC Standard: Tools,
Profiles, and Performance. In: IEEE Transactions on Circuits and Systems
for Video Technology 26 (2016), Januar, Nr. 1
50
[JJKB12] Jaehwan, Kim ; Jungyoup, Yang ; Kwanghyun, Won ; Byeungwoo,
Jeon: Early Determination of Mode Decision for HEVC. In: 2012 Picture
Coding Symposium, IEEE, Mai 2012, S. 449 – 452
[LWW+14] Li, Xufeng ; Wang, Ronggan ; Wang, Wenmin ; Thenyu, Wang ; Dong,
Shengfu: Fast Motion Estimation Methods for HEVC. In: 2014 IEEE Inter-
national Symposium on Broadband Multimedia Systems and Broadcasting
(BMSB). Beijing, China : IEE, Juni 2014
[MHKK03] Malvcar, Henrique S. ; Hallapuro, Antti ; Karczewicz, Marta
; Korefsky, Louis: Low-Complexity Transform and Qunatization in
H.264/AVC. In: IEE Transactions on circuits and systems for Video Tech-
nology Bd. 13 IEEE, IEEE, Juli 2003, S. Seiten 598 – 603
[SMW03] Schwarz, Heiko ; Marpe, Detlev ; Wiegand, Thomas: Context-Based
Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compressi-
on Standard. In: IEEE Trancsactions on Circuits and Systems for Video
Technology 13 (2003), Juli, Nr. 7, S. Seiten 620 – 636
[SOHW12] Sullivan, Garry J. ; Ohm, Jens-Rainer ; Han, Woo-Jin ; Wiegand,
Tomas: Overview of the High Efficiency Video Coding (HEVC) Standard.
In: IEEE Transactions on Circuits and Systems of Video Technology 22
(2012), Dezember, Nr. 12, S. 1649 – 1668