Autor Beitrag
DarkHunter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: Mo 30.05.05 16:05 
Hallo

Ich muss für ein Referat wissen, wie die Komprimierung einer Datei per algorythmus funktioniert.
Ich erwarte jetzt von niemanden irgendwelchen Code, sondern ich möchte nur das Prinzip verstehen.

Oder ist komprimierung so etwas geheimes das niemand weiß wie?
OneOfTen
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 30.05.05 16:13 
Guck da
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 30.05.05 16:14 
Moin!

Das entscheidende Stichwort in diesem Zusammenhang ist "Mustererkennung"; ganz wichtig ist auch, ob es sich um reversible oder irreversible Kompressionsverfahren handelt.

Aber du solltest wirklich erstmal ein bischen selbst im Web recherchieren; so komplexe Fragen kann man nicht in einem Satz beantworten. :wink:

cu
Narses

//EDIT: mmpf... schon wieder zu spät... :wink:
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Mo 30.05.05 16:21 
Es gibt keine Algorythmen, sondern nur Sambarythmen. Ach und Hiphop-, Reggae- Schunkel- etc. riddims. Aber es gibt Algorithmen:
Kompression:
a) Verlustfreie (RLE, Hufman, LZW, LZS77, BZIP, Markov)
b) Verlustbehaftete (JPEG, MPEG, MP3 etc.)

zu a:

RLE: Run Length Encoding: Sich wiederholende Bytes werden nicht direkt geschrieben, sondern es wird nur die Anzahl sowie das Byte selber kodiert. (Statt "aaaaaaaaaa" wird "\10a" kodiert.

Hufman kodiert die Bytes mit variablen Bitlängen so, das häufigen Bytes kürzere Bitfolgen zugewiesen bekommen, als Selteneren. Das 'adaptive Hufman Coding' (wie in RAR) passt die Bitlängen während des Komprimiervorganges dynamisch an die sich ändernden Häufigkeiten an.

LZW versucht, Bytesequenzen mit hilfe eines Wörterbuches effektiv zu kodieren. Dazu wird während des Komprimierens ein Wörterbuch erstellt. Kommt eine Bytesequenz im Wörterbuch vor, wird nicht die Bytesequenz geschrieben, sondern der Index der Position im Wörterbuch. In jedem Fall wird die kodierte Bytesequenz anschliessend in das Wörterbuch aufgenommen.

LZS77: Sich wiederholende Bytesequenzen werden so kodiert, das nicht die Sequenz, sondern ihre relative Position in dem bereits verarbeiteten Bytestrom kodiert wird.

BZIP: Nutzt die Tatsache, das sortierte Bytes viel effektiver gepackt werden können... äh...
Ach du Schande... Äh... Burrows-Wheeler-Transformation... Blocksorting... irgendwie... (schluck)

Markov: Völlig abgedreht (steckt noch in der Entwicklung) Es wird versucht, vorauszuahnen, welches Byte als Nächstes kommt. Irre.

Recherchiere bitte nochmal (z.b. bei Wikipedia), kann ja sein, das ich hier Mist erzähle.
DarkHunter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: Mo 30.05.05 17:12 
Ich sage erstmal vielen Dank, ihr habt mir schon ein großes Stück weiter geholfen,
es geht mir auch nicht um die genau funktionsweise, sondern nur darum wie man es im Prinzip macht und das Prinzip scheint ja überall gleich zu sein. Reduktion der Datenmenge durch Mustererkennungen. Vielen Danke, ich frage mich warum ich ncht von allleine auf Wikipedia gekommen bin... Das ist normal meine erste Anlaufstelle ;)