Gegeben sei die Zeichenkette CADBBDCCBC. Kodieren Sie diese optimal nach dem Huffman-Verfahren. Geben Sie den vollständigen Kodierbaum an. Gehen Sie dabei davon aus, daß obige Zeichenkette einen repräsentativen Ausschnitt aus der insgesamt zu übertragenden Datenmenge darstellt.
Als Wahrscheinlichkeiten ergeben sich:
Der vollständige Kodierbaum sieht demnach folgendermaßen aus:
Daraus ergibt sich folgende Kodierung: 0 111 110 10 10 110 0 0 10 0. |
Bei der arithmetischen Kodierung wird eine Nachricht als Gleitkommazahl aus dem Intervall [0; 1) kodiert. Dieses Intervall wird dabei in Teilintervalle unterteilt, die sukzessive wiederum zerlegt werden. Entwickeln Sie die beiden Formeln für die Berechnung der Unter- bzw. Obergrenze (Un bzw. On) des Kodierungsintervalls bezüglich des n-ten Zeichens. Es gilt U0=0 und O 0=1.
Beispiel: Sind die Zeichen a, b mit den Wahrscheinlichkeiten p(a)=0,4 und p(b)=0,6 gegeben, und es wird die Zeichenkette ab kodiert, so ergibt sich für das 1. Zeichen (a) das Kodierungsintervall [U1; O1) = [0; 0,4).
es bezeichnen:
U0=0, O0=1, R0=1 Un=Un-1+Rn-1*u(ch) On=Un-1+Rn-1*o(ch) Rn=On-Un |
Kodieren Sie nun die Zeichenkette bca mittels statischer
arithmetischer Kodierung. Die zugehörigen Wahrscheinlichkeiten
p(.) sind p(a)=0,3, p(b)=0,3 und p(c)=0,4. Verwenden Sie für
das Eintragen Ihrer Ergebnisse untenstehende Tabelle und wählen
Sie ein geeignetes Endergebnis aus.
Schritt |
Zeichen |
Kodierungsintervall |
0 |
- |
[0; 1) |
1 |
b |
|
2 |
c |
|
3 |
a |
erste Kodieungsintervalle:
Auswahl eines Zeichens aus dem Intervall [0,48; 0,516), z.B. 0,5 |
Merkmale von MPEG-Video, H.261 und Motion-JPEG
Betrachten Sie die Videosequenz , die aus den Einzelbildern besteht. werde nun mittels der Videokodierungsverfahren MPEG-Video, H.261 und Motion-JPEG in die komprimierten Datenströme , und überführt.
Vergleichen Sie die drei Verfahren unter folgenden Gesichtspunkten:
Begründen Sie Ihre Antworten!
Hinweis: Unter Motion-JPEG versteht man eine Aneinanderreihung JPEG-komprimierter Einzelbilder.
Kompressionsrate:
|
Die komprimierten Videoströme VMPEG und V M-JPEG werden über ein paketorientiertes Netzwerk übertragen. Der Videostrom VMPEG wurde mit dem MPEG-Kompressionsverfahren, der Videostrom VM-JPEG mittels Motion-JPEG kodiert. Ein Paket innerhalb der Übertragung besteht aus einem Teilbereich eines einzelnes Bildes (frame) des jeweiligen komprimierten Videos.
Wie beeinträchtigen Paketverluste die Darstellung der verschiedenen Videoströme auf der Empfängerseite? Begründen Sie Ihre Antwort!
Hinweis: Motion-JPEG bedeutet, daß die Einzelbilder des Videostromes unabhängig voneinander mittels des JPEG-Verfahrens komprimiert werden.
Motion-JPEG: Paketverluste sind hier von geringer Bedeutung, da sie nur das jeweils aktuelle Bild betreffen. D.h. in diesem Fall ist ein Teilbereich des aktuellen Bildes nicht darstellbar. Da sich innerhalb einer Videosequenz von einem Bild zum anderen nur wenig ändert, kann dieser Paketverlust leicht kompensiert werden.MPEG: Hier erweisen sich die Abhängigkeiten zwischen den einzelnen Bildern als problematisch. Die Auswirkung eines Paketverlusts hängt davon ab, welchem Frametyp (I,P,B) dieses Paket zugeordnet ist. Der Verlust eines Teilbereichs innerhalb eines I-Frames wirkt auf die nachfolgenden Bilder aus (sofern diese nicht ebenfalls I-Frames sind). Es können daher ganze Teilsequenzen unbrauchbar werden. Wird ein P-Frame nicht vollständig übertragen, so wirkt sich das ebenfalls auf nachfolgende Bilder aus. Lediglich der Verlust von Teilen eines B-Frames ist unproblematisch. |
Erläutern Sie den Begriff Delay-Jitter. Wodurch kann es zu Delay-Jitter in normalen Weitverkehrsnetzen wie dem Internet kommen?
Der Delay-Jitter gibt die Varianz der Verzögerung beim Versenden von Daten an. Die Verzögerung entspricht dabei der Zeit, die ein Paket benötigt, um von der Quelle zum Ziel zu gelangen. Gründe für Delay-Jitter in WANs sind:
|
Welches der beiden LAN-Typen Ethernet bzw. Token-Ring zeigt in bezug auf den Delay-Jitter ein zuverlässigeres Verhalten? Begründen Sie Ihre Antwort kurz!
Token Ring ist in sofern zuerlässiger, daß zumindest ein maximale Wartezeit angegeben werden kann, bis eine Station sendeberechtigt ist. Beim Ethernet kann keine maximale Wartezeit angegeben werden. Bei hoher Auslastung des Netzes kann es zu vielen Kollissionen kommen, sodaß eine Station unter Umständen sehr lange warten muß, bis sie ein Paket senden darf. |
Betrachten Sie ein Videoserversystem. Nennen Sie 3 weitere Dienstgütemerkmale der Netzwerkanbindung, die neben dem Delay-Jitter in einem solchen System eine Rolle spielen und erläutern Sie diese kurz.
|
Was versteht man unter Preemptive Scheduling, was unter Non-preemptive Scheduling?
|
Ein Video on Demand Server nutzt das Non-preemptive Scheduling.
Seine Aufgabe ist es, gleichmäßig Videodaten an seine
Empfänger zu senden. Innerhalb von 10ms kann der Server im
Durchschnitt 100kByte Daten versenden. Ein Videostrom besteht aus
durchschnittlich 2 MBit/s wobei das Senden eines Videostromes in
jeweils einem Prozeß geschieht. Zum Umschalten zwischen zwei
Prozessen werden jeweils 2ms benötigt. Wieviele Ströme kann
der Server maximal parallel versenden?´
Hinweis: Mindestens einmal pro Sekunde sollen die Daten jedes Videostroms
gesendet werden.
CPU-Output: o= 100kByte/10ms |
Gegeben sei ein zweidimensionales, digitales Bild der Größe mit 256 Graustufen. Geben Sie einen Algorithmus zur Berechnung des zugehörigen Histogramms an.
Histogram H(256); // Histogramm fuer 256 Grauwerte |
Beschreiben Sie eine Vorgehensweise zum Vergleich zweier Histogramme und , und beurteilen Sie die Aussagekraft von Histogrammen in Bezug auf die histogrammbasierte Schnitterkennung in Videosequenzen.
Betrachtet man die beiden Histogramme als Vektoren, d.h. und , so kann man folgende Distanzmaße verwenden: Die Verwendung von Histogrammen für die Erkennung
von Schnitten in Videosequenzen ist problematisch, da grundverschiedene
Bilder das gleiche Histogramm aufweisen können; man betrachte
zum Beispiel zwei Bilder: Bild 1 zeigt eine Wiese mit Mohnblumen
und Bild 2 stellt einen großen, roten Sonnenschirm dar. In
beiden Bildern sind demnach viele rote Bildpunkte vorhanden, ihre
Verteilung über die Bildfläche ist jedoch völlig unterschiedlich.
|
Aufgrund der von Ihnen festgestellten Schwachpunkte, entschließen Sie sich in einem System zur automatischen Schnitterkennung in Videosequenzen statt Histogrammen sogenannte color coherence vectors (CCV) einzusetzen. Beschreibt der Vektor ein Histogramm, wobei die Anzahl der Bildpunkte mit Farbe/Grauwert angibt; so kann ein CCV über angegeben werden. Dabei gibt die Anzahl der Bildpunkte mit Farbe an, die zur Klasse gehören, und die Anzahl der Bildpunkte mit Farbe , die der Klasse zugeordnet wurden.
Zur Klassifizierung der einzelnen Bildpunkte verwenden Sie folgende Vorgehensweise: Ein Bildpunkt gehört genau dann zur Klasse A, wenn er zu einer Region mit mindestens gleichfarbigen Bildpunkten gehört. Ansonsten wird er der Klasse B zugeordnet.
Beispiel: Nebenstehendes Bild ergibt mit den color coherence vector . |
Entwickeln Sie einen Algorithmus zur Berechnung des CCV unter Berücksichtigung obiger Klassifizierung. Gehen Sie dabei davon aus, daß Ihrem Algorithmus ein Einzelbild der Größe und der Schwellwert als Parameter übergeben werden.
Hinweis: Die Unterteilung eines Bildes in Regionen zusammenhängender Bildpunkte gleicher Farbe ist ein Segmentierungsproblem.
calculateCCV (Image I, Threshold T) |