VL
Kartei Details
Karten | 382 |
---|---|
Sprache | Deutsch |
Kategorie | Marketing |
Stufe | Universität |
Erstellt / Aktualisiert | 29.06.2022 / 30.06.2022 |
Weblink |
https://card2brain.ch/box/20220629_medieninformatik
|
Einbinden |
<iframe src="https://card2brain.ch/box/20220629_medieninformatik/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Wie bindet man JS extern an html Dokumente an?
- eigene Textdatei (.js)
- Einbindung in Kopf- oder Rumpfbereich (Konvention Kopf)
- Enbindung mittels <script> Element
- Bsp.:
- <head>
<title>Test</title>
<script type="text/javascript" src:"meinScript.js">
</script>
</head>
- <head>
Was sind Vor- und Nachteile bei der externen Einbindung von JS-Dateien?
Vorteil
- Wartbarkeit
- für mehrere Dateien
- Übersichtlichkeit
Nachteil
- mehrere Dateien laden (extra Anfrage für JS Datei)
Wie wird eine JS intern eingebunden?
- nur für das html Dokument verwendbar
- Einbindung im Kopf- oder Rumpfbereicht
- Einbindung mittels <script> Element
- Bsp.:
- <body>
<script type="text/javascript">
alert("Hallo Welt!");
</script>
</body> - Es ploppt Pop-Up-Fenster auf mit "Hallo Welt"
- <body>
- Eventhandler:
- als Attribut bekommt html Element die Funktionalität angehangen
- i.d.R. komplexer
- z.B. kann man Funktionen mithilfe von Eventhandlern aufrufen
- z.B. Dialogbox "Hallo Welt" soll erst ausgegeben werden, wenn der Button geklickt wird
<button type="button" onclick"alert('Hallo Welt!')"> Weltknopf </button>
Was sind Datentypen und Kontrollstrukturen?
- notwendig, um Funktionen zu schreiben, die dynamisch mit Webseiten interagieren
- Datentypen:
- Daten nach Typus klassifiziert
- Typus gibt Aufschluss darüber, wie mit Daten verfahren werden kann, welche Eigenschaften sie haben
- Kontrollstrukturen
- Steuerkonstrukte: steuern Ablauf des Programms und erlauben nicht lineare Abläufe
- Ausführung meist über logische Ausdrücke (boolsche Ausdrücke) beeinflusst
Worin unterscheidet man die Typisierungen von JS?
- starke vs. schwache Typisierungen
- stark: einmal definierte Variablen können Datentyp nicht mehr konvertieren (Java)
- schwach: jede Variable und jeder Parameter kann jeden Datentyp annehmen
- flexibel
- fehleranfälliger
Welche Datentypen gibt es?
- Zeichenkette (string)
- beliebig lange Folge von Zeichen
- eingeschlossen in '..' oder "..."
- numerische Werte (number)
- dezimal: 0, 15, -15
- Fliekommazahlen: 33.33,
- Oktal (beginnt mit 0)
- Hexadezimal (beginnt mit 0x)
- Wahrhitswerte (boolean)
- true vs. false
- binäre Entscheidungen
- Object
- Sonderwerte (z.B. undefined, null)
Welche Eigenschaften haben Datentypen?
- Typeofx
- gibt aktuell zugewiesenen Datentyp als Pop-Up Fenster aus
- var s = "Beispieltext";
s.length- Länge einer Zeichenkette ausgeben lassen
- s.indexOf("t")
- Auffinden von Teilen im Text, z.B. wann steht t im Text
- beachte: erste Stelle zählt als 0. Stelle
- var teil1 = 15
var teil2 = 20
var warenkorb = teil1 + teil2
Was kann der Datentyp "Object"?
- beliebige Eigenschaften (Eigenschaften zufügen, verändern, löschen)
- weitere Eigenschaften durch Komma getrennt hinzufügen
- Beachte:
Schlüssel für Eigenschaft muss Zeichenkette sein ("name", "color")
Wert des Schlüssels nicht ("Reeti" "3")
Welche Kontrollstrukturen unterscheidet man?
- Verzweigungen (if-then-else, switch)
- If-then-else Verzweigung (bedingte Anweisung)
var temperature;
if (temperature>30) { Bedingung
window.alert("Ab in den Biergarten"); Anweisung
} else {
window-alert("Heute lernen"); Anweisung
} - Switch Verzweigung
switch (temperature) {
case 33:
alert("Ab in den Biergarten!");
break;
case 0:
alert("Warm anziehen!");
break;
default:
alert("Bitte lernen");
}- wenn viele Fälle unterschieden werden sollen
- pro Case ein Wert, den Variable annehmen würde
- am Ende des Cases: break (wird Wert ausgeführt, kann Schleife beendet werden
- If-then-else Verzweigung (bedingte Anweisung)
Welche Kontrollstrukturen unterscheidet man noch?
- Schleifen
- while Schleife (kopfgesteuerte Schleife)
while (bedingung) {
anweisung;
}- solang Bedingung wahr ist, wird Anweisung ausgeführt
- Bedingung muss innerhalb Schleife oder von außen geändert werden
- for Schleife
for (startwert; abbruchbedingung; zählschritt) {
anweisungen;
}- Bedingung im Schleifenkopf geändert
- Anweisung so lang durchgeführt wie Bedingung wahr ist
- selbse Funktionalität wie Whie Schleife
- while Schleife (kopfgesteuerte Schleife)
Was können Funktionen?
- Blöcke von Codes, um bestimmte Aufgaben zu beschreiben
- sinnvoll für wiederkehrende Aufgaben, die öfters benötigt werden
- Programmcode, der nicht in Funktion steht, wird sofort ausgeführt
- mittels Eventhandler wird aufgerufen, wann Funktion ausgeführt wird
- essentiell für Webseiteninteraktivität
- function meineFunktion (parameter1, parameter2, ...) {
auszuführender Code;
return ergebnis
}- parameter = Werte, die Funktion übergeben werden und zur Verfügung stehen
- Return statement = Ergebnis, das zurückgeliefert werden soll
Und jetzt gehts ab zu den Videos.
Welche Bedeutung wird den digitalen Videos zugeordnet?
- revolutionäre Entwicklung (Vgl. Stummfilm -> Sprachfilm, adding Color to pictures)
- Georg Lucas deutet sehr hohe Relevant der Digitalisierung
- Digitaisierung von Filmen = essentiell
- Aufnahmen mit Digitalkameras
- Komprimierung während der Aufnahme (auf Kamera)
- Prägung des Medienkonsumverhaltens
- TV als Leitmedium mittlerweile abgelöst (ursprüngliche Faszination durch bewegte Bilder)
- Videoportale (YouTube, MyVideo), Videoblogs und -messenger
- digitale Videos = zentral im Medienkonsum
- Digitalisierung = Standard in vielen Bereichen (Digitalkameras statt analoge Medien)
Was sind die Grundlagen der Wahrnehmung von Videos?
- Videowahrnehmung = mehrdimensional (inkl. der neuen Dimension: Bewegungswahrnehmung)
- Bildwahrnehmung
- Licht
- Helligkeit
- Farbe (und Farbmodelle)
- Audiowahrnehmung
- Schall
- Frequenzen
- Lautstärke
- Lokalisierung
- psychoakustische Modelle
- Maskierung
- Bewegungswahrnehmung
- Objektbewegung
- Eigenbewegung
- Scheinbewegung
Was ist die Objektbewegung?
- Bewegungswahrnehmung von Objekten in der Welt
- einfache Translation
- Objekte bewegen sich im Sichtfeld
- bspw. Ball fliegt durch Saal (Ball = dynamisch, Saal = statisch)
- komplexe Translation
- komplexe Strukturen bewegen sich
- optischer Fluss entsteht (nicht nur Wahrnehmung von Einzelbewegungen)
- z.B. Barber-Pole-Illusion (Säule dreht sich nach rechts, optischer Fluss geht nach oben)
Was ist die Eigenbewegung?
- Bewegungswahrnehmung von sich selbst in der Welt
- Infos aus Eigenbewegungung u.a. aus optischen Fluss
- nicht die Welt verändert sich, sondern man bewegt sich durch die Welt
- z.B. in Filmen: man bewegt sich durch die Welt in 3D
Was sind Scheinbewegung?
- Bewegungseindrücke, denen keine physikalische Bewegung von Objekten zugrunde liegt
- insbesondere in digitalen Videos relevant
- Erzeugung von Bewegungswahrnehmung:
- Stilmulus wird an Position angezeigt, dann ausgeblendet und woanders erneut angezeigt
> Betrachter nimmt Bewegung wahr - Bewegungswahrnehmung hängt vom Zeitintervall zwischen den Stimuli ab
- ob/welche Bewegung stattfindet, hängt von Gestaltgesetzen ab
- Stilmulus wird an Position angezeigt, dann ausgeblendet und woanders erneut angezeigt
Welche Zeitintervalle zur Bewegungswahrnehmung gibt es?
- < 30ms = Wahrnehmung von keiner Bewegung, sondern von zwei gleichzeitig aufleuchtenden Punkten
- 30ms < x < 60ms = Phi-Bewegung (unklassifiziertes Flackern)
- ca. 60ms = optimale Beta-Bewegung
- 60ms < x < 200ms = partielle Bewegung ("Ruckelbewegung")
- > 200ms = sukzessive (keine Bewegung), sondern verschiedene Punkte, die aufleuchten
Welche Gestaltgesetze beeinflussen die Bewegungswahrnehmung?
- Gesetz der Ähnlichkeit
- Gesetz der Nähe
- Kreis, der zu Viereck wird (Nähe) vs. Kreis und Viereck, die Wandern (Ähnlichkeit)
- stärkere Wahrnehmung, dass Kreis zu Viereck wird (= Gesetz der Nähe wird stärker empfunden als Gesetz der Ähnlichkeit)
Was sind bewegte Bilder?
- Sequenz aus Einzelbildern, die schnell nacheinander gezeigt werden
-> Illusion von Bewegung - jedes einzelne Bild = Ausschnitt der Szene zum Zeitpunkt x
- vgl.: Kineograph (Daumenkino)
- Bewegungswahrnehmung ab 18-30 Bilder pro Sekunde
- Videos: schnelles Abspielen von Einzelbildern
- Bilder dürfen nicht zu unterschiedlich sein, weil sonst keine Bewegungswahrnehmung
Wie findet der Prozess vom digitalen Bild zum Video statt?
- Bilder pro Sekunde = frames per second
- bei Monitoren = Hertz, bei Video = Frames
- Kinostandard = weiterentwickelt (HFR = High Frame Rate)
Formate:
- Super-8-Film (veraltet): 18 fps
- Kinofilm (weltweit): 24 fps
- Fernsehnorm Europa: 25 fps
- Fernsehnorm USA und Japan: 30 fps
- HFR (neues Kinoformat): 48, 72 fps
Wie ist das menschliche Sehfeld aufgebaut?
- liegende Ellipse
- rechts/links:
- Farbwahrnehmung bis zu 60°
- Wahrnehmung 100°
- oben
- Farbwahrnehmung 30°
- Wahrnehmung 55°
- unten
- Farbwahrnehmung 40°
- Wahrnehmung 80°
- Bildformate passen sich menschlichem Sehfeld an
Welche Bildformate gibt es?
- Seitenverhältnis
- 4:3 = analoges Fernsehen, "klassisches Bildformat" (PAL)
- 16:9 = heutige TV (HDTV), "normales Sichtfeld"
- Full HD = 1920+1080 Pixel
- Ultra HD = 4k = 3840*2160 Pixel
- 21:9 = Cinemascope
Welche Bildauflösungen gibt es?
- Breite*Höhe
- PAL-Fernsehbild
- 768x576
- HD (High Definition)
- HD (ready): 1280x720 Pixel
- Full HD: 1920x1080 Pixel = max. 2 Mio Pixel
- genannt: 2k vs. 1080p
- Ultra HD: 3840x2160 oder 7680x4320 = ≥ 8 Mio Pixel
- 4mal so hoch wie Full HD
- 4k ca. 4000 Pixel
- verschiedene Formate (Tablet, Handy etc.; Variationen je nach Hersteller)
Berechne: wie viel MB werden pro Sekunde genutzt?
720x576 Pixel
25 fsp
RGB mit 8Bit pro Kanal
1 Frame: 720x576 = 414720 Pixel
414720*3*8Bit = 1244160 Byte
= 1244 KB
= 1,24 MB pro Sekunde 25 Frames
1,24*25/s = 31 MB/s
Was bedeutet die Codierung bei Videos?
- alles wird digitalisiert, gespeichert und komprimiert
- Digitalisierung = Diskretisierung + Quantisierung
- analoge, beliebig viele und beliebig genaue Werte sollen in Raster gedrückt werden
Ziel: digitales, diskretes Signal erstellen
- analoge, beliebig viele und beliebig genaue Werte sollen in Raster gedrückt werden
Was ist die Diskretisierung und Quantisierung?
- Diskretisieren:
- wie oft taste ich ab + wie oft speichere ich ab?
- Bilder = 2 Dimensionen
- Räumlich (wie viele Bildpunkte will ich) + wie viele Bits geben wir der Farbe
- Quantisieren bei Audio
Wie läuft die Digitalisierung bei Videos ab?
- 4 Dimensionen
- 2 Bilddimensionen (Höhe und Breite)
- Eigenschaften der Bildpunkte (Farbtiefe und Helligkeit)
- zeitliche Dimension: Bilder pro Zeiteinheit (Abtastrate der Kamers, fps)
Rechne um: Bits, Bytes, KB, MB, GB
1 Byte = 8 Bits
1 KB = 1.000 Bytes
1 MB = 1.000 KB
1 GB = 1.000 MB
Berechne: Was ist die Datenrate bei der Wiedergabe in MB/s
720x576 Pixel
24 Bit Farbtiefe (RGB)
25 fps
720*576*3*8 = 9953280 Bit = 1.244.160 Byte
= 1244 KB
= 1,24 MB
-> Pro Sekunde 25 Frames = 1,24 MB
1,24*25 = 31MB/s
Wofür wird kompressiert?
- Zur Reduktion von Speicherplatz
- bei Videos zwingend erforderlich
- Bilder z.T. ohne Kompression (v.a. zur späteren Bildbearbeitung)
Wie wird kompressiert?
- Codierer: codiert Videodaten binär
- Decodierer: decodiert Binärcode in Video
- Codec (Coder/Decoder)
- Algorithmenpaar für Codierer und Decodierer
- Asymmetrie: decodieren schneller als codieren
- Grund: Abspielen (decodieren) muss schnell gehen
- Ausnahme: Live-Übertragung, wo beides in Echtzeit funktionieren muss
Welche Anforderungen haben Videocodecs?
- schnelle Kompression (Codierung)
- falls schon bei Aufnahme komprimiert werden soll, sonst egal
- zB. bei Smartphones: man nimmt Video auf und will es direkt abspielen
- schnelle Decodierung
- Videos in Echtzeit wiedergeben
- sehr relevant
- hohe Kompression
- z.B. für Internet Streaming
Welche Kompressionsverfahren gibt es?
- Klassifikation:
- universell vs. speziell
- verlustfrei vs. verlustbehaftet
- Bsp.: universell-verlustfrei = Huffman, LZW
universell-verlustbehaftet ≠ sinnvoll
speziell-verlustfrei = PNG, AIFF
speziell-verlustbehaftet = JPEG, MP3 - mittlerweile spezielle Verfahren optimiert für Videos inkl. verlustbehafteter und verlustfreier Formate
Welche Eigenschaften haben Videos?
- zeitliche Dimension (Inter Frame)
- Beschaffenheit der Einzelbilder (Intra Frame)
- Höhe*Breite
- Pixel-Eigenschaften (Helligkeit, Farbe)
- jede Eigenschaft = Möglichkeiten zur Kompression
Was ist die Intra-Frame Codierung?
- Betrachtung einzelner Bilder
- Verwendung von Verfahren wie bei Einzelbildern (vgl. JPEG)
- Chroma-Subsampling
- runterskalieren von Farbkanälen
- verlustbehaftet
- DCT- Quantisierung (diskrete Cosinus-Formation)
- hohe Frequenzen werden weggelassen oder mit wenigen Bits abgespeichert
- verlustbehaftet
- Kompression
- wenig Bits abspeichern
- Chroma-Subsampling
Berechne: Kompression durch Chroma-Subsampling
720x576 Pixel
25 fps
RGB mit 8 Bit pro Kanal
- Umwandlung in YCbCr
Abtastrate in Farbkanäle sinkt
volle Abtastrate in Y-Kanal
halbe Abtastrate in Cb und Cr
1 Frame y-Kanal: 720*576*1Byte = 414720 Byte
1 Frame Cb und Cr: 360*288*1Byte = 103680 Byte
414720 Byte + 2*103680 Byte * 25/s = 15,5MB/s
Datenreduktion von zuvor 31MB/s auf 15,5MB/s = um ca. 50%
Was ist die Inter-Frame Codierung?
- Hintergrund: aufeinanderfolgende Bilder sind sich sehr ähnlich
- Inter-Frame nutzt Redundanz zwischen zeitlich aufeinanderfolgenden Bildern
- Gesetz der Nähe muss eingehalten werden (Bilder müssen ähnlich sein)
- Verfahren:
- Differenz-Codierung (frame differencing)
- Bewegungskompensation (motion compensation)
Wie funktioniert die Differenzcodierung?
- Nach Startbild pro Pixel nur noch Differenz zum Vorgänger speichern
- Viele Pixel haben Wert 0 0der kleinen Wert
- Bsp.: bleibt HIntergrund gleich, ist Differenz = 0
- höhere Frame-Rate = mehr Speicherplatz
aber: geringere Unterschiede = weniger Speicher - Möglichkeiten der Differenz-Codierung:
- Pixelwerte der Differenzbilder mit weniger Bits speichern
- Entropiecodierung (häufig vorkommende Werte mit wenig Bits speichern)
- Lauflängencodierung (wiederholende Pixelwerte)
- es wird alle x Sekunden das Keyframe gespeichert, falls Startframe verloren geht
- nicht nur EInzelbild = Startbild, sondern alle paar Sekunden = neues Keyframe
Wie funktioniert die Bewegungskompensation?
- bei vielen Videos wird ganzes Bild oder nur Teile des Bildes verschoben
- einige Pixel sind in zwei aufeinanderfolgenden Frames identisch, aber verschoben
- Methode: Block Matching
- Speicherung des Blockes, der sich bewegen wird + seinen 2-dimensionalen Vektor und dessen Richtung (x,y)
- Erweiterung: nicht identische Bildteile werden verschoben, sondern nur sehr ähnliche
> z.B. Objekt fährt auf Kamera zu, wodurch nicht mehr identisch, sondern ähnlich- zusätzliche Codierung die Unterschiede der Blöcke
Wie läuft das Block Matching ab?
- Suche möglichst ähnliche Blöcke, die im Vorgängerbild auftauchen
- Codiere Verschiebungsvektor
- Berechne Differenzbild für verschobene Blöcke und codiere diese
- Codiere alle Bereiche, für die keine verschobenen Blöcke gefunden wurden