Lieber Zuschauer, dieser Untertitel wurde automatisch generiert von Trint und dementsprechend (sehr) fehlerhaft. Wenn du kannst, hilf uns bitte gute Untertitel zu erstellen: https://c3subtitles.de/talk/2094 Danke!
Ja, willkommen zurück hier auf dem
Channel.
Unser nächster SBK ist Yannick.
Er hat Medientechnik studiert
und sich dabei unter anderem mit
Live-Streaming im Internet und auch
Algorithmen der Video Kompression
beschäftigt.
Jetzt in diesem Talk möchte er uns einmal
die Grundlagen der modernen Impressions
Algorithmen erklären.
Zu Beginn
des Talk Translate into
the English Language for the
Press Open der Language Selection Tool
in the Web Player Translate
Stream und nun
viel Spaß bei diesem Talk.
Hi und willkommen zu meinem Vortrag
Grundlagen Video Kompression.
Es soll um die Grundlagen Berge und
jeder Video Kompression gehen, die
eigentlich in fast allen Standards
umgesetzt wird.
Ganz kurz zu mir Ich bin ja nicht
für die Medientechnologie an der TH Köln
und ich bin Entwickler bei umfasst Once
ist es eine Alternative zu Twitch, die
man selber auf seinem eigenen Server
aufsetzen kann?
Im Internet findet ihr mich ja unter den
ganzen Links.
Worum geht es in diesem Vortrag generell?
Die Kompression dem Verlust war für die
Kompression von Videodateien.
Wie gerade schon gesagt, sollen die
Grundgedanken gehen, ohne jetzt auf
eine spezielle Implementierung
einzugehen.
Daran halte ich mich an den MPEG
Standards. Das heißt hat schon sechs,
vier, fünf und sechs und
eins.
Außerdem soll es einen kleinen Vorschau
auf den kommenden STANDARD hat zu 6 6
V v C geben.
Es wird allerdings nicht jedes Detail
erläutert. Wie gesagt, dieser Vortrag
soll 20 Minuten gehen und er
setzt damit natürlich keine sechs Monate
lang Vorlesung an.
Ich denke, das sollte jedem klar sein.
Wir fangen an mit einem kleinen Lexikon.
Das heißt, ein Pixel
und Pixel besteht typischerweise aus
mehreren Kanälen, zum Beispiel rot, grün,
blau. Manchmal ist auch eine Alpha
Channel dabei, manchmal nicht.
Manchmal sind die Dinge anders benannt.
Außerdem gibt es dann ein Bild, ein Frame
und ein Pfeil hat dann mehrere Pixel, die
in so ein Raster angeordnet sind.
Zum Beispiel ist ein Raster dann 4 zu
3 oder 16 zu 9 oder wenn
man aus Ticktack kommt, halt 19
16.
Wenn man dann eine Menge an Bildern oder
Frames hintereinander anordnet,
wird daraus eine Sequenz.
Das habe ich jetzt hier wie so ein Analog
Film dargestellt.
Die Älteren werden sich vielleicht daran
erinnern.
Wofür brauchen wir eigentlich diese
Kompression?
Also warum?
Warum brauchen wir verlustfrei für
Kompression, wenn wir eigentlich davon
wie das Internet stellen wollen oder
Video generell aufnehmen und verarbeiten
wollen?
Dazu habe ich es mal auf dem Rücken eines
eines Bundestages zusammengerechnet.
Wir haben drei Kanäle, habe ich gerade
gesagt.
Drei Kanäle pro Pixel,
die jeweils mit 8 Bit ausgestrahlt
werden. Zum Beispiel ist so, dass die
standardmäßig Anzahl,
wenn man das jetzt auf ein Full HD Bild,
also 19 von 1980 hat
und 25 mal die Sekunde kommt man
auf Bitrate von 1,1 6 gibt
Kili Bit pro Sekunde.
Und das ist einfach eine ganze Menge
Holz.
In der Video Bearbeitung ist das
vielleicht noch tragbar.
Allerdings wenn man das dann übers
Internet spielt, zum Beispiel von Media
runterlädt, dann
reicht das einfach zu Problem.
Und Telekom sagt einfach nein.
Das war auch schon vorher ein Problem,
bevor wir mit Full HD angefangen haben
oder kleinere Videos, denn
zum Beispiel so ein Kinofilm in dieser
Auflösung in 90 Minuten sind 6,2
t weit und das geht einfach nicht.
Das ist einfach viel zu viel.
Kurz im Vergleich Das sind 1500 DVDs
mit jeweils 4,7 Gig
oder 500000 Disketten
mit 1,4 4 Niveau weit.
Bevor uns alle so halten, wie wir das
Video kleiner machen, müssen wir uns erst
darüber unterhalten, wofür wir überhaupt
Video einsetzen.
Also wofür nutzen wir Video
und wo solche Zweifel dargestellt werden.
Als erstes ist es so, dass der klassische
Anwendungsfall Home Kino
oder analoges Fernsehen.
Dabei gibt es meistens eine Zuleitung
zum Display. Die ist in der Regel stabil.
Zum Beispiel ein Kino gibt es halt pro
Saal, eine Festplatte, von der dieser
Film geladen wird und nichts anderes.
Im analogen Fernsehen gibt es die
Leitung, über die mehrere Kanäle geleitet
werden.
Aber auch über die passiert nichts
anderes.
Das ist so ein bisschen anders im Online
oder TV Bereich, wo es halt
Video on Demand Plattform wie Media,
CCC oder Livestream Plattformen
wie Medium CCC gibt.
Und da gibt es in der Regel eine
instabile Zuleitung von der Quelle zum
Display, weil zum Beispiel das Internet
inzwischen bröckelt oder man
gerade im Zug sitzt und von dort aus
streamen will.
Ein weiterer Anwendungsfall ist
Videotelefonie.
Wie Telefonie haben wir jetzt durch die
Pandemie wahrscheinlich alle
kennengelernt und auch schon vorher war
es einfach ein riesengroßer Sektor.
Und um sinnvoll an einem Gespräch
teilzunehmen, ist es wichtig, dass es
eine möglichst geringe Latenz gibt,
damit sich die Leute nicht gegenseitig
ins Wort fallen und
das Video und das Audio vor allem
gut übermittelt wird.
Es ist allen klar, gerade durch die
Pandemie, dass es nicht perfekt ist.
Und darum ist es nicht so schlimm,
dass das Video vielleicht ein bisschen
wirklich ist oder einer schlechteren
Qualität ist.
Aber Hauptsache es ist da und es wird
angezeigt. Und es wird auch gleichzeitig
mit dem Audio übertragen und auch
gleichzeitig mit dem Audio dargestellt.
Ein Anwendungsfall der in der Caos war,
wäre wahrscheinlich nicht so verbreitet
ist, auf den ich aber trotzdem kurz
eingehen möchte sind Überwachungskameras.
Diese kommen meistens nicht alleine,
sondern von.
Zu dritt und filmen einfach 24
7 in der Gegend rum und dabei kommen
unendlich große Datenmengen zusammen,
obwohl meistens oder vielleicht
einfach nur ein leerer Raum gefilmt wird.
Und das möchten wir
gut gut komprimieren,
denn wir wollen ja keinen Film Kinofilm
gucken, sondern wir wollen im Zweifel
sehen, da läuft jemand von A nach B
oder das ist ein Gesicht von einer Person
und so weiter.
Dementsprechend sind die Anwendungsfälle
von dem Video Kompression bei einer wie
bei einer Überwachungskamera ganz anders
als beim Kinofilm.
Als letzten Punkt möchte ich noch
Bilderkennung und bildgebende Systeme
anbringen. Diese werden zum Beispiel in
der Medizin oder in der Industrie
verwendet, um Auffälligkeiten zu
analysieren und darzustellen.
Und hierbei ist dann problematisch, wenn
es vorschnell an Kompression gibt,
die wichtige Inhalte verschieb,
unkenntlich macht oder wenig darstellt.
Denn dann sieht man zum Beispiel einen
Bruch oder einen kleinen Gehirntumor und
so weiter.
Nachdem wir das jetzt geklärt haben,
können wir weitergehen.
Wie funktioniert eigentlich dieses Video?
Kompression?
Das erste, woran man denkt, wenn man an
Video Kompression denkt, ist
wahrscheinlich, dass man einfach weniger
Pixel macht durch eine kleinere
Auflösung. Und das funktioniert auch ganz
gut. Wir haben ja vier grüne Pixel
und vier blaue Pixel und die komprimieren
wir runter auf einen grünen und einen
grauen Pixel.
Und dadurch haben wir ein 75 prozent
Ersparnis.
Wenn wir die beiden Pixel dann allerdings
auf dem großen Display wieder anzeigen
möchten, dann ist
uns nicht so richtig klar Wie bezahlen
wir diese Daten jetzt an?
Wir können zum Beispiel diese Pixel
einfach wieder auf skalieren.
Dann haben wir allerdings eine große
Fläche, die am Ende
eine scharfe Kante hat und innerhalb der
Fläche halt keine Struktur an.
Das sieht dann ein bisschen aus wie beim
Malen nach Zahlen und das ist vielleicht
nicht das, was man haben möchte.
Das nächste wäre dann, dass wir die Pixel
anteilig aus der Nachbarn berechnen.
Das geht beliebig kompliziert, zum
Beispiel hier über einen linearen
Gradient Bildraum.
Allerdings gibt es dann hier so einen
grauen Schleier in der Mitte.
Der kommt daher, dass wir im Raum
interpolieren.
Das kann man, wie gesagt, auch beliebig
kompliziert machen.
Zum Beispiel haben wir hier auch nur zwei
Stützpunkte, wenn wir ein
eindimensionales Bild haben.
Meistens gibt es allerdings ein
zweidimensionales Bild, da hat ein vier
Stützpunkte und so weiter.
Hier gibt es noch einmal die Formel dazu.
Das ist einfach lineare Anteile von den
zwei Bilder, auch von den zwei
Pixel werden die Entwickler in der
Video Kodex haben einige Annahmen über
das Videomaterial, das sie komprimieren
wollen, betroffen und wie der Mensch
dieses wahrnimmt.
Wenn man auf diese Annahme vertraut, kann
man daraus technische Ideen ableiten.
Und ich sage mal so Das hat bisher ganz
gut funktioniert.
So ein paar dieser Annahmen möchte ich
jetzt auf euch vorstellen.
Die erste Annahme ist das menschliche
Auge Helligkeit Unterschiede besser
darstellt als Farbe und das
hier.
Wenn man es also schaffen, die Helligkeit
eines Pixel von den Farben zu trennen,
können wir die Farbwahl mit weniger
Auflösung speichern, und zwar nicht von
uns dadurch Bandbreite.
Bisher haben wir uns eben über diesen RGB
Farbraum, also rot grün blau Infrarot
erhalten.
Bei diesem neuen Farbton
gibt es dann einen eigenständigen Kanal
für die Helligkeit und dann im
Zweifelsfall Aussteuerung.
Die Helligkeit kann von 0 bis 1 gehen und
die Vormachtstellung von minus eins plus
eins. Und daraus ergibt sich dann auf
der rechten Seite dieser freistehende
Würfel.
Wenn man sowohl blau als auch rot
auf dem Minimal wird einstellt, kommt man
bei Grün raus.
Und das ist zum Beispiel auch der Grund,
warum der Holzpferd das Bild
bei Videoübertragung halt grün darstellt.
Also grüne Pixel bedeutet immer nur einen
Fehler oder der
da hat irgendwas nicht beim Decodiert
geklappt.
Die Idee kommt ursprünglich von der
Umstellung vom analogen Schwarz-Weiß
Fernsehen zum Farbfernsehen.
Die älteren Geräte haben sich nur das
bekannte Schwarzweiß Signal aus der
Helligkeit gezogen, während neue
Geräte halt auch das Startsignal hab
halt herausgezogen haben und das
farbig dargestellt haben.
Um diese Farbwerte nun gröber als die
Helligkeit abzutasten, gibt es sogenannte
Color Mods und Kolosser Sampling,
Mashup, Sampling.
Die drei verbreitetsten Color Mods habe
ich einmal hier dargestellt.
Den Staat bieten immer viel Helligkeit,
Werte, denen entweder 2,
4 oder nur ein Farbwert von rot und blau
zugeordnet wird.
An der verwaltetes Modus ist 4
2 0, die auf der rechten Seite
bei dem auf allen Farbwert für Helligkeit
Werte kommen.
Der Modus wird im Ersten Weltkrieg
korrekt vorausgesetzt und ist der
STANDARD so gut wie allen anderen
Verlust behafteten Video-Podcast.
Wenn man sich die Anzahl der Blöcke
ansieht, sieht man, dass bei vier zwei
null null sechs Bit und bei 4
4 4 zum Beispiel 12 Volt übertragen
müssen. Und das ist gut, weil das schon
wieder die Hälfte der Pixel macht.
Die nächste Annahme ist, dass es im Bild
ein Vorder und ein Hintergrund gibt und.
Daraus ergibt sich Es gibt vielleicht
Bereiche, die gröber und feiner aufgelöst
werden müssen, um das Bild angemessen zu
repräsentieren.
Dazu gibt es einen Modus, der heißt
Blockbildung.
Und dazu teilt man das Bild hatten
mehrere Blöcke auf JPEG, MPEG
und haben feste Blockgröße.
Und zu 6 5 gibt
es ein Modell mit variabler Übergröße.
Das erkennt man nicht rechts an der
Grafik. Die Blöcke werden solange
verkleinert, bis sie keine oder nur wenig
Strukturen erhalten.
Außerdem Anhand dieser Kurve erkennt man
dann, dass die Struktur entlang dieses
Zooms genauer aufgelöst werden muss
als entlang einer
großen Farbfläche.
An dieser Stelle wäre es total super,
wenn ich etwas über diese Transformation
sagen konnte.
Das Spengler ich den Rahmen meines
Vortrags
Die nächste Annahme ist, dass
aufeinanderfolgende Frames gleichen
oder sehr ähnlichen Bildinhalt haben.
Und dadurch können wir eigentlich nur das
übertragen, was sich ändert und weniger
Bandbreite nutzen,
sondern das Prinzip als Differenz, Bilder
oder Delta Will.
Ein Delta Bild stellt jeweils nur den
Unterschied zum Verhängen Fremder
regelmäßig für einen tiefer tieferen
sogenannte Interfaces übertragen,
die ein vollständiges Bild darstellen.
Dadurch wird Scripting ermöglicht.
Also wenn der Videodateien nach vorne
springt, springt der Player dann meistens
nur zum nächsten Interface.
Spielt das Video von dort aus ab?
Eine Reihe dieser Zusammengehören und
Frames, also immer einen Film und dann
mehrere Delta Bilder heißt dann
Group of Pictures.
Es gibt die Frames, die verlegte
Frames P Bilder
und die zeigen einfach nur die Differenz
an auf dem rechten Bild sieht man einmal
einen Test Video Crowder an, heißt das,
wo wir den ersten Frame, den zweiten
Frame und die Differenz darstellen.
Und wir sehen, so viel ändert sich
eigentlich nicht. Der Baum ist zum
Beispiel komplett dargestellt und
fast ohne Änderung.
Und das müssen wir einfach überhaupt
nicht übertragen, weil wir sagen einfach
okay, für die nächsten 100 Pixel gibt es
ja keine Änderung oder in diesem Block
Bereich.
Die nächste Annahme ist, dass eine
Sequenz eine Bewegung abbildet.
Wir können also zum Beispiel, wenn wir
einen Block um ein Objekt haben,
nur die Verschiebung des Objektes
übertragen.
Da gibt es zwei Möglichkeiten für
einmal Global Motion Kompression
und einmal blockweise Motion
Kompensation.
Und bei der Kompensation verschiebt
oder skaliert man das ganze Bild.
Das ist gut bei Bewegung
rein, Zoom raus, Zoom und so weiter.
Die Technologie wird allerdings nicht
mehr so häufig angewendet, da sie welche
komplexen Codierung ist und
im Outcome eigentlich hinter den
Erwartungen zurück bleibt.
Die Blockade von Kompensation arbeitet
allerdings mit Blöcken, die wir eben
schon beschrieben hatten.
Im Blog wird in einem Radius
mit dem nächsten Frame verglichen und die
Position mit der geringsten Differenz
wird dann als Vektor notiert.
Der freigeworden Bereich wird entweder
durch einen Block Verschiebung gefüllt,
also über einen weiteren Block
Verschiebung oder durch eine Differenz
Bildung aus dem letzten Bild.
Das Fenster kann auch auf sumpfig
Basis, also zum Beispiel auf ein Viertel
Pixel gehen.
Aber wie Granulat das ist, hängt immer
von Kodak ab.
Einen Nachteil hat diese Bewegungs
Kompensierung allerdings, und zwar
gibt es immer Unebenheiten an den
Grenzen, das kann man dann probieren über
Differenz auszugleichen.
Jedoch gibt es einfach manchmal Blöcke,
die verschoben werden.
Und das sieht dann komisch aus, vor allem
wenn es auch ein Fehler im
Detail gibt.
Sprung einer DVD,
so dass was mit den anderen die
vorstellen wollte.
Ich möchte jetzt noch ganz kurz auf Sex
oder VVD eingehen, also 6
6 und VVD ist derselbe STANDARD,
der wird zusammen von der ISO und von der
MPG in Motion Pictures App
Expert Group entwickelt
und die haben zwei verschiedene Namen
Schemata und darum hat einer
an der STANDARD zwei verschiedene Namen,
also sechs. Sechs hat das Ziel, 50
prozent weniger Bitrate bei gleicher
subjektiver Qualität gegenüber dem
Vorgänger zu haben.
Das heißt, das Video, das
gut oder gleich gut dargestellt werden
soll, so dass 50 prozent weniger
Traffic und Bitrate verbrauchen
als bei Hartz 4 6 5.
So etwas 5 hatte das Ziel auch
und dadurch sind wir bei
75 prozent weniger Bitrate gegenüber.
Hast du 6 4?
Was ändert sich jetzt?
Ganz viele Dinge haben sich geändert.
Ich habe es einfach mal 5 rausgepickt.
Das sind ja nicht 5 nur 4
es gibt einmal eine veränderte
Blockbildung der Helligkeit.
Kanal kann zum Beispiel jetzt anders
eingeteilt werden als der
Kanal. Also krummer blau rot.
Das total super.
Wenn du einen Kanal hast, der sich
in der Helligkeit nicht ändert, aber nur
eine Farbe oder der sich
in der Farbe nicht ändert, aber dafür in
der Helligkeit half.
Der zweite Punkt ist das virtuelle
Bild. Grenzen in einem Bild sind
das hat man. Der Realität genommen hier
von 360 grad Videos,
die in der Mitte soll eine Kante haben,
wo es einfach dadurch, dass die,
dass das Video aus sechs verschiedenen
Kameras zusammengesetzt ist, gestützt
wird, gibt es einfach keine Überlappung
und es gibt kein keine Verschiebung aus
dem einen Bild ins nächste Bild und
dadurch gibt es auch forcierte Grenzen.
Ein weiteres Ding ist der Pellet Mod.
Gerade bei Bildschirm Übertragung
brauchen wir nicht eigentlich alle
Farben. Dafür brauchen wir eigentlich
eine hohe Auflösung, um zum Beispiel
einen kleinen Text gut darzustellen.
Auf dieser Folie haben wir hier weiß,
schwarz und ein bisschen gelb.
Wir brauchen allerdings nicht den
kompletten RGB Farbraum oder
Farbraum.
Mit dem Pelikan Rot reicht es dann,
diese die gegebenen
Bilder auf ganz kleine Werte
zusammenzusetzen und so eine
höhere Auflösung bei weniger Daten
darzustellen.
So wird hat zu 606 verwendet.
Der STANDARD ist seit 2020
verabschiedet und veröffentlicht.
Es gibt eine V1 als ein Colas
und der ist seit Mitte 2021 verfügbar.
Es gibt allerdings noch keine oder nur
sehr wenige Unterstützung in der gängigen
Software. Zum Beispiel C, weil
heute Player oder ungefähr jede
Videoarbeiten Software.
Dadurch dauert es einfach
ein bisschen.
Man kann sich allerdings
auch selber bauen
mit dem 6 Encoder drin.
Ein weiterer Punkt sind die Prozessoren.
Eigentlich jedes Handy, jeder Laptop,
jeder Computer hat einen Prozessor
für Video und Codierung und
Decodierung.
Und die gibt es auch einfach noch nicht.
Das dauert jetzt einfach, bis sie nach
und nach auf den Markt kommen.
Die Adoption Phase hat zum Beispiel
sechs fünf vier fünf
sechs sieben Jahre gedauert.
2013 wurde Hardware zum STANDARD
veröffentlicht und in 2017
hat iOS dann angefangen.
Half sie also du 6 fünf
standardmäßigen Videos zu verwenden?
So, das war's eigentlich schon mit meinem
Vortrag.
Ich habe einen Haufen Bildquellen
verwendet.
Dabei habe ich viele aus
Webseiten oder aus Pampern.
Ich stelle den ganzen Vortrag auch online
und da könnte ich auf die Links drauf
klicken. Dann an dieser Stelle möchte ich
mich für eure Aufmerksamkeit bedanken.
Bei Feedback kommt gerne auf mich zu über
Twitter diverse oder
andere Möglichkeiten, wie man mich
erreichen kann.
Danke fürs Zuschauen und euch noch einen
sehr schönen Tag.
3. Und ja, einen guten Übergang
ins neue Jahr.
Ja, vielen Dank Jannik, für diesen
interessanten Vortrag zur Video
Kompression.
Für Fragen steht euch ja nicht gleich in
der C3 World zur Verfügung.
Dort werden wir eine kleine Breakout
Session halten und zwar wieder
in der Assembly.
Also kommt gerne vorbei in die Ärzte drei
wird zur Assembly
Next up.
Um 22 Uhr geht es weiter
mit einem mit einem Schema,
wie eine Verifikation der Stimmauszählung
bei Wahlen möglich ist und um
24 Uhr wie gewohnt die Herald
News Show. Bis dahin.