Codierung

Neue Frage »

Auf diesen Beitrag antworten »
Da_Melly Codierung

Hallo alle zusammen,

ich bin in der 13. Klasse der BOS und schreibe meine Seminararbeit über das Thema Codierung.

Nun habe ich einen Punkt der lautet "Wofür ist Codierung gut" Hierzu sind mir leider nur zwei Punkte eingefallen.

- Schnellere Übertragung möglich
- Weniger Speicherplatz wird benötigt

Das ist aber leider ein bisschen wenig. Also wenn euch noch Vor- oder auch Nachteile hierzu einfallen, dann wäre ich sehr dankbar wenn ihr mir das mitteilt.

MfG

Da_Melly
 
Auf diesen Beitrag antworten »
ed209

Hi

Sobald du Zeichen Folgen von Einsen und Nullen zuordnest hast du eine Codierung (z.b. Ascii Code) und ein Computer braucht auf jeden Fall eine Codierung um damit zu arbeiten.

Ich nehme mal an daß es bei deiner Arbeit um Codierung für Kompression geht. Also den Zeichen unterschiedlich lange Zeichenketten zuzuordnen, so daß der Gesamttext (im Schnitt) kürzer wird. Die Huffman-Codierung leistet das z.b.

Die Vorteile sind im wesentlichen die die du schon aufgeführt hast. Der Text wird kürzer und verbraucht weniger Speicherplatz bzw. Übertragungskapazität

Ein weiterer Vorteil kann sein, daß mit dem kürzeren Text auch die Redundanz kleiner wird. Redundant ist der Teil einer Nachricht, der keine neuen Informationen enthält.

Ein Beispeil für Redundanz ist z.b, daß in der Deutschen Sprache das "e" wesentlich häufiger vorkommt als "q".
Bei der Kryptanalyse, also dem Knacken von Verschlüsselungen spielt Redundanz eine wesentliche Rolle. Denn Redundanzen geben Hinweise auf den Originaltext:

Wenn ich z.b. jeden Buchstaben durch einen anderen ersetze, dann ist der Buchstabe der in meinem Verschlüsselten Text am häufigsten vorkommt mit hoher wahrscheinlichkeit ein "e"
Ausserdem weiss ich daß nach "q" fasst immer ein "u" folgt usw.

Je weniger Redundanz in einer verschlüsselten Nachricht steckt, desto schwerer ist sie zu entschlüsseln. Weil man mit Heuristiken nichts mehr anfangen kann.

Ich hab leider keinen guten Link zu dem Thema Redundanz, aber Du wirst sicher fündig smile

Gruss,
Peter

PS: Es gibt noch etliche Arten von Codierung die nicht das Ziel haben den Text kürzer zu machen. Manche wollen auch einfach mehr Zeichen Codieren als es zum Beispiel Ascii kann (Unicode), oder wollen sogar die Redundanz erhöhen um Fehler in Übertragungen aufzufinden.

"Codierung" ist ein sehr weitreichendes Thema smile
Auf diesen Beitrag antworten »
Da_Melly Ok - Datenkompression

Gut gut Datenkompression ist es stimmt schon... Aber gibt es auch Nachteile? Es geht schneller mit einer kleineren Datenmenge und es benötigt nicht viel Speicherplatz.. Sind denn dann die Fehler das es durch Redundanz auch Qualitätsverluste gibt, bzw. Fehler bei der Übertragung entstehen können?
Auf diesen Beitrag antworten »
ed209

Ja genau. Bei unsicheren übertragungen fügt man oft absichtlich redundante Bits hinzu.

Wenn man zum Beispiel immer Pakete von 8 Bits übertragen will, kann man ein reduntantes 9tes Bit so hinzufügen, daß die Anzahl von 1en immer grade ist.

Wenn sich jetzt ein Bit durch einen Übertragungsfehler verändert, dann stimmt die Anzahl der 1en nicht mehr überein und der Empfänger weiss daß irgendwo ein Fehler aufgetreten ist und kann fordern daß das Paket nochmal geschickt wird.

Ohne die Redundanz hätte der Empfänger überhaupt keine Möglichkeit eine Fehlerhafte Übertragung zu erkennen, da alle Bitketten mögliche Nachrichten wären.

Gruss,
Peter
 
Auf diesen Beitrag antworten »
Da_Melly Datenkopression

Waas? Ich füge absichtlich einen Fehler hinzu? Damit der andere merkt das ein möglicher Fehler drin sein kann...

Sorry ich dachte ich hätte hier alles verstanden.. Aber anscheind doch nicht so ganz...

Kannst du mir das bitte nochmal langsam für Blondinen erklären? Wäre lieb.

Danke
Auf diesen Beitrag antworten »
Mazze

Zitat:
Ich füge absichtlich einen Fehler hinzu?


Es wird kein Fehler hinzugefügt. Man fügt weitere Informationen zu dem Eigentlichen Codewort hinzu um eine Fehlererkennung zu ermöglichen. Um ed's Beispiel zu erklären, wir haben das codewort

0101 und fügen jetzt ein weiteres Kontrollbit x ein das so gewählt wird das die Anzahl der einsen gerade ist. In diesem Fall fügen wir also eine 0 an.

das zu übertragende Codewort ist 01010. Sollte jetzt genau ein Bit kippen, etwa die erste 0, also 11010 (1-bit Fehler), ist die Anzahl der Einsen ungerade und der Empfänger kann erkennen das es einen Fehler gab. Sobald eine gerade Anzahl von Bits kipt ist keine Fehlererkennung möglich, immer dann wenn eine ungerade Anzahl kipt geht es.

Es geht sogar soweit das man mehrere Bits hinzufügt und sogar Fehler korrigieren kann. Ein Beispiel wäre der Hammingcode. Hier werden 1-Bit Fehler korrigiert. Man kann zwischen fehlererkennenden und fehlerkorrigierenden Codes unterscheiden.
Auf diesen Beitrag antworten »
kurellajunior

Vielleicht noch was generelles.

Jeder Code verlinkt sematisch eindeutige Objekte auf technisch eindeutige Objekte. Dabei erfolgt idealerweise eine eineindeutige Zuordnung. Nicht alle Codes können / wollen dies aber

Die bekanntesten Codes sind:

Sprache (Gedanken/Bilder -> Worte)
Schrift (gesprochenes Wort -> geschriebenes Wort/Schriftzeichen)

Der Zweck von Codierung ist im allgemeinen, das Mapping von komplexen Strukturen auf einfache und vor allem systematische Strukturen, die einfacher zu handhaben sind als die komplexen Originalstrukturen.

Das gilt sowohl für Sprache, Verschlüsselung (MD5), oder JPG Augenzwinkern

Ich hoffe das hilft.

Jan
Auf diesen Beitrag antworten »
abraxas

Ein weiteres, sehr interessantes Gebiet ist ja auch noch die Konkurrenz vieler verschiedener Arten von Codierung und deren fast "darwinistische" Auslese.
Ein Beispiel wäre die Konkurrenz zwischen ASCII und EBCDIC, die ja mittlerweile einen eindeutigen Sieger zu Tage gebracht hat. (IBM haben oft ihre Extrawurst gekocht und sind damit bisher fast immer baden gegangen.)

Und natürlich, beim speziellen Beispiel der Chiffrierungen auch die Konkurrenz zwischen Codierer und Decodierer! Ein Chiffriersystem hat zum Beispiel den Lauf der Geschichte verändert: wäre die Enigma nicht geknackt worden hätte das alles auch ganz anders aussehen können...

Aber, im Hinblick auf Dein Referat: ich empfehle Dir, Dich nicht zu übernehmen. Jeder einzelne Aspekt kann so mannigfaltige Nuancen aufweisen, dass es Dir unmglich sein wird, auf alles einzugehen. Also versuch es nicht. Entweder, Du erklärst was es mit der Codierung von Sprachen auf dem Computer auf sich hat ("Von nullen und Einsen zu Unicode") oder Du befasst Dich zum Beispiel mit Chiffrierungen.

Stichwörter für ersteres wären, wie bereits erwähnt: ANSI und ASCII, aber auch EBCDIC, ausserdem die verschiedenen internationalen Standarts: ISO8859-* oder KOI8R oder aber auch die fernöstlichen Standarts: GB, JIS, KSC, BIG5... und natürlich UTF-8. Eigentlich darfst Du das Referat über Encodings nur halten, wenn Du keine Gegenargumente für Unicode hast! Augenzwinkern

Und für's letztere wäre doch mal die Enigma ein guter Anfangspunkt. Sie ist nämlich unglaubliches kleines Gerät, dass schon damals eine komplett maschinell ablaufende polyalphabetische Kodierung ermöglicht hat! Sie hat allerdings nicht wirklich viel mit Computern zu tun. Wenn Du hierüber ein Referat machst, dann empfehle ich Dir, auch neuere Methoden, wie PGP (pretty good privacy) zu erwähnen, die mathematisch gesehen sehr interessant funktionieren. (Meist durch die Multiplikation sehr hoher Primzahlen)

Grüße, abraxas

PS: Die Wiki hilft Dir bei eigentlich allen oben erwähnten Themen gut weiter!
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »