Datenkompression: Vorwort
Wiki Bookwizard - ThePacker |
Clear page cache |
Edit current page |
Create or Edit page TOC include TOC with {{:Datenkompression: Vorwort:_TOC}} |
1 Vorwort
- 1.1 Geleitwort
- 1.2 Zeitplanung
- 1.3 Aufgaben
- 1.4 Empfohlene Lesereihenfolge
- 1.5 Status der Kapitel
Geleitwort
[Bearbeiten]Dieses Buch soll in seiner Form mehreren Ansprüchen gerecht werden. Es soll ein Buch werden, welches die derzeit bekannten Techniken der Datenkompression zusammenfasst und einzeln vorstellt. Es soll den Stand der Technik widerspiegeln und so das Selbststudium zum Thema Datenkompression fördern. Es ist jedoch kein Referenzhandbuch zu einem bestimmten Verfahren im engeren Sinne. Dadurch sollte es auch einem Einsteiger möglich sein, die dargestellten Verfahren zu verstehen, ohne zunächst mit den Details eines bestimmten Verfahrens überfordert zu sein.
Das Buch ist für Personen gedacht, die sich nicht nur oberflächlich mit diesem Thema beschäftigen möchten, aber es ist ebenso nicht ausschließlich für die Profis unter Ihnen. Ganz allgemein soll es denen dienen, die sich mit diesem Thema befassen wollen und ihre Kenntnisse bezüglich dieser Thematik aufbauen oder vertiefen möchten. Um auch den Lesern einen guten Einstieg zu bieten, die mit dem Thema noch nicht besonders vertraut sind, werden allgemein einführendende Kapitel geboten in denen man sich u.a. mit den mathematischen Grundlagen vertraut machen kann.
Kein Referenz-Handbuch Dieses Wiki Buch sollte m.E. nicht als Referenz-Handbuch für ein oder mehrere bestimmte Verfahren gelten sondern soll zeigen, welche konkreten Ideen hinter den einzelnen Verfahren stecken und warum es sinnvoll ist die Ideen und Transformationen in einer bestimmten Reihenfolge anzuwenden. Darüber hinaus können beispielhafte Implementierungen/Pseudocodes dem Leser weiterhelfen den wesentlichen Grundgedanken hinter einer Technik zu erläutern. Das heisst aber auch, dass die Verfahren zwar vorgestellt werden, aber eben nicht Bit für Bit.
Lernziele Es soll dem geneigten Leser ermöglichen, in eigenen Verfahren eigene Ideen zu verwirklichen und neue Wege zu finden. Es soll Möglichkeiten aufzuzeigen, an die der Leser nicht gedacht hat und so seine Kreativität für die Entwicklung neuer Verfahren fördern.
Regeln Das Buch soll bis Ende 2008 fertig gestellt werden. Ich als Autor bitte für Vorschläge und Ergänzungen zunächst ausschließlich die Diskussionsseiten zu verwenden, da ich niemanden mit meinen Änderungen vor den Kopf stoßen möchte, da ich selbst genau weiß, wie aufwändig einige Veränderungen sind. Sollte es zu Vandalismus auf den Seiten kommen, werde ich mir überlegen ob ich Zeit und Arbeit investiere und weiterhin an diesem Projekt mitwirke und/oder die Arbeit ggf. einstelle.
Zeitplanung
[Bearbeiten]Da ein gutes Buch sehr viel Zeit in Anspruch nimmt bis es fertig wird, soll hier ein kurzer Ausblick auf die Zeitplanung erfolgen.
Oktober 2005 - Fertigstellen aller mir bekannter LZ-Varianten Dezember 2005 - Fertigstellen des Kapitels zur verlustfreien Kompression März 2006 - Entwicklung der Struktur des Kapitels zur verlustbehafteten Kompression Dezember 2006 - Fertigstellen der Teile zur verlustbehafteten Kompression Juni 2007 - Fertigstellen der mathematischen Grundlagen Dezember 2007 - Fertigstellen der Aufgaben und Lösungen ... 2008 - Lesen und überarbeiten einzelner Teile Dezember 2008 - Das Buch soll fertig sein.
14.Dezember 2005 Mittlerweile stellt sich heraus, dass der ehrgeizige Plan, das Kapitel Verlustfreie Kompression bis zum Dezember diesen Jahres fertig zu stellen vielleicht etwas zu ehrgeizig war. Dennoch soll versucht werden, möglichst nahe an diesem Plan zu bleiben, wobei sich mittlerweile herausstellt, dass die noch kommenden Themen wesentlich umfangreicher sein werden, als zunächst angenommen. Des weiteren hat sich herausgestellt, dass es besser ist, ein und das selbe Thema länger zu recherchieren und es am Stück zu präsentieren, als jedes in mehreren Einzelschritten zu aktualisieren.
Aufgaben
[Bearbeiten]Die Aufgaben in diesem Buch dienen vor allem dem Selbststudium. Sicherlich ist es nicht einfach ein Thema zu verstehen, indem man nur liest. Es erscheint mir sinnvoller sich anhand spezieller Aufgaben mit der Thematik zu befassen, indem man die gelesenen Informationen direkt auf ein bestimmtes Thema anwendet. Schließlich lernt man die Dinge besser, die man sich selbst erarbeitet hat. Deswegen stellen die Aufgaben einen integralen Bestandteil dieses Buches dar.
Es werden Aufgaben mit unterschiedlichem Schwierigkeitsgrad angeboten. Außerdem werden einige Aufgaben als empfehlenswert markiert (*) sein. Diese Aufgaben sollten in jedem Fall gelöst werden. Die Schwierigkeitsgrade der Aufgaben sind ganz verschieden, von ganz leicht bis zu echten Problemen. Um aber den unerfahrenen Lesern die Aufgabe zu ersparen herauszufinden, welches nun die schweren und die leichten Aufgaben sind, wird eine Zahl verwendet, die den Schwierigkeitsgrad dieser Aufgabe anzeigt.
01-10 Diese Aufgaben sind als besonders einfach einzustufen und können sofort beantwortet werden, wenn Sie den dazugehörigen Text verstanden haben. Eine solche Aufgabe sollte in maximal 5 Minuten lösbar sein.
11-20 Diese Aufgaben sind einfach und können nach kurzem Nachdenken in bis zu 15 Minuten mit einem Platt Papier und einem Bleistift gelöst werden.
21-30 Es handelt sich hierbei um Aufgaben, die einer Bearbeitung von bis zu zwei Tagen bedürfen. Das sind meist Aufgaben, bei denen Sie sich Zeit nehmen sollten, das gelesene mehrfach zu durchdenken und verschiedene Ansätze auszuprobieren.
31-40 Dieser Schwierigkeitsgrad wird Aufgaben zugeschrieben, deren Bearbeitung bis zu 2 Wochen benötigt. Es sind meistens komplexe Aufgaben und Ideen, deren Lösung meist dazu dient, sich einen Werkzeugkasten zusammen zu stellen.
41-50 Aufgaben deren Bearbeitung sehr viel Zeit in Anspruch nehmen.
Die Aufgaben werden unterschiedlich klassifiziert: - als mathematisch (M01 - M50), - als mathematisch mit Kenntnissen der höheren Mathematik (HM01 - HM50) - als algorithmisch (A01 - A50)oder - als komplexe Aufgabe / Programmierprojekt (K30 - K50).
Zu den gestellten Aufgaben sollen ebenso Lösungen angeboten werden, die u.a. durch die Leser eingereicht und verbessert werden können. Die Lösungen können Pseudocodes für algorithmische Aufgaben oder Herleitungen des Ergebnisses für mathematische Aufgaben umfassen.
Mathematische Aufgaben gestalten sich meist so, dass eine konkrete Lösung berechnet oder eine Herleitung vorgenommen werden soll. Diese sollten für den Anfang ein guten Einstiegspunkt darstellen, um zunächst das grobe Handwerk zu lernen. Denn meist entscheidet sich bereits hier, ob es Sinn macht, sich durch dieses komplexe Themengebiet durchzuarbeiten.
Mathematische Aufgaben die Kenntnisse der höheren Mathematik voraussetzen, können zumeist von Studenten ab dem zweiten Semester gelöst werden. Diese stellen für mathematisch weniger interessierte Menschen möglicherweise eine größere Herausforderung dar. Die Kenntnisse der höheren Mathematik werden für verschiedene Integraltransformationen bspw. Fourier, Haar, Walsch-Hadamard, Z-Transformation usw. benötigt. Ebenso sollten Optimierungs-Probleme (Laplace) kein Fremdwort sein.
Algorithmische Aufgaben erfordern meist das Verständnis für den grundlegenden Algorithmus und fordern den Leser dazu auf an bestimmten Stellen Modifikationen einzubauen, um so sein Verständnis für diesen Algorithmus zu steigern.
Komplexe Aufgaben sind so zu verstehen, dass der Leser reales Datenmaterial analysiert, verarbeitet und ein kurzes oder langes Programm entwickelt, welches zu Recht als die Lösung der Aufgabe bezeichnet werden kann. Ziel ist es, den Leser an noch größere Projekte heranzuführen. Das sind eigene Kompressionen, Audio- und Video-Codecs.
Empfohlene Lesereihenfolge
[Bearbeiten]Es gehört ebenso zum guten Ton, dem geneigten Leser eine Lesereihenfolge zu empfehlen insbesondere, wenn die Informationen aus einem Kapitel in einem anderen benötigt werden.
Das Kapitel 2 (Allgemeine Einführung) präsentiert einen Gesamtüberblick über das Thema Datenkompression. Sollten Sie auf der Suche nach Informationen sein, was Datenkompression ist, wie und wo sie überall verwendet wird oder welche Anforderungen es an die Datenkompression gibt, so sei Ihnen dieses zweite Kapitel besonders empfohlen.
Sollten Sie sich für die Details der einzelnen Verfahren interessieren ohne sich bestens in der Mathematik auszukennen, sei Ihnen das Kapitel 3 sehr empfohlen. Andererseits ist gegen ein gutes Mathematikbuch nichts einzuwenden. Es sollte sich dann vor allem mit Statistik und Zufallsprozessen befassen. Das dritte Kapitel bietet nicht nur einen Einblick in die dazugehörige Mathematik, sondern führt ebenfalls in die Begrifflichkeiten der Informationstheorie ein.
Status der Kapitel
[Bearbeiten]Dieses Buch befindet sich gerade im Entstehen und so ist es nicht verwunderlich, dass einige Teile des Buches nur zum Teil oder teilweise noch gar nicht fertig sind. Das Inhaltsverzeichnis bietet bereits einen Hinweis, in welchem Stadium sich ein bestimmter Abschnitt des Buches befindet. Dieser wird durch die folgenden Grafiken dargestellt. Es lohnt sich dennoch, auch vermeintlich fast unfertige Teilabschnitte zu betrachten.
- [0%] Dieser Abschnitt ist zwar vorhanden, ist jedoch in einem Zustand, der noch nicht lesenswert ist.
- [10%] Die Grundidee ist skizziert, aber es sind meistens keine näheren Beschreibungen vorhanden.
- [20%] Eine nähere Beschreibung ist im Entstehen. Ein solcher Abschnitt beginnt langsam lesenswert zu werden.
- [30%] Ein Abschnitt enthält meist bereits ein unkommentiertes Beispiel oder technische Detailinformationen.
- [40%] Ein Abschnitt enthält mindestens ein kommentiertes Beispiel oder gut kommentierte technische Detailinformationen.
- [50%] Ein Abschnitt enthält sowohl gut kommentierte Beispiele, als auch technisch gut dokumentierte Detailinformationen.
- [60%] Ein Abschnitt enthält eine objektive Bewertung des Algorithmus, die bspw. anhand der Codiergewinne dokumentiert wird. Dazu wird bei den Algorithmen auf den sog. Calgary oder Canterbury Corpus Bezug genommen.
- [70%] Dieser Teil ist im Grunde genommen besonders heikel. Es wird eine subjektive Einschätzung über die Möglichkeiten vorgenommen. Es werden die Möglichkeiten erörtert, ob dieser Algorithmus gut zu erweitern ist, eine gute Ausgangsbasis darstellt, ob er einfach zu modifizieren ist, oder ob man aus anderen Gründen die Finger von diesem Algorithmus oder seiner Implementierung lassen sollte.
- [80%] (Derzeit keine Qualitätskriterien definiert.)
- [90%] (Derzeit keine Qualitätskriterien definiert.)
- [100%] Der Text ist von verschiedenen Lesern gelesen und für gut/korrekt befunden worden und sollte nur im Falle technischer Neuerungen aktualisiert werden. Über Änderungen wird grundsätzlich in den Diskussionsseiten diskutiert und sollten mindestens 1-2 Wochen durchdacht werden. (Typos dürfen korrigiert werden ;-) ).