Adatábrázolás, tömörítés

Tény, hogy különféle számítógépek különböző adatábrázolási módokat használnak. Ez karakterek esetén lehet különböző kódrendszerek használata (az IBM nagy gépek EBCDIC-kódja vagy az ASCII kód), de lehetnek a Hálózatokszámábrázolásban különbségek is. Ha két gép között ilyen eltérések vannak, akkor a hálózati kapcsolat során átvitt adatokat a megfelelő reprezentálás érdekében átalakítani, konvertálni kell. Struktúrált adatok esetén pl. rekordok esetén a helyzet bonyolultabb, mivel egyes mezőket kell konvertálni, míg másokat nem.

Adattömörítés

Mivel a hálózatok használatáért általában fizetni kell, egyáltalán nem mindegy hogy időegység alatt mennyi információt viszünk át rajta. Az adatok ábrázolása általában redundáns. A csatornán elküldött információt szimbólumsorozatként is felfoghatjuk, amelyek egy adott szimbólumkészletből származnak, pl. decimális számjegyek készlete, karakterek készlete, stb. Az adattömörítés elvét a 25. ábra mutatja.

25. ábra: A tömörítési módszer

A következőkben néhány tömörítési eljárást ismertetünk:

Darabszám-kódolás: Ha egy adathalmazban sok egymás után következő azonos szimbólum fordul elő, célszerű egy külön szimbólumot fenntartani az ismétlődés jelzésére, és utána következik az ismétlődő szimbólum, míg az azt követő számérték jelzi az ismétlődő szimbólumok számát:

Például a felkiáltó jel legyen az ismétlődés jelző: ! 
	! (szimbólum) <x=számérték 0-255 között > a szimbólum    <x>-szer ismétlődik 
	!A112 -> 112 A betű egymás után 
	!! - > maga a ! jel 

Szimbólumsor-helyettesítés: gyakori azonos szimbólumsor helyett egy speciális szimbólum

Például ilyen a tabulátor (TAB) jel is! (8 betűközt ér) 

Minta helyettesítés: gyakori szimbólumsorozat helyettesítése speciális szimbólummal

Például a BASIC nyelvben szereplő definiált alapszavak (INPUT, FOR, stb.)    
a program futtatása előtt úgy bájtokban tömörítik, hogy a változókat, adatokat    
leíró ASCII karakterrel ábrázolt részeket változatlanul hagyják, (legfelső bit    =0),
míg az alapszavakhoz a maradék 128 kód valamelyikét rendelik hozzá (legfelső    
bit=1). Például: 80H->FOR, 81H->INPUT, stb. Ezzel az ún. tokenizálással    
a szöveges BASIC program mérete jelentősen csökkenthető.  

Sorozathossz kódolás (Run Lenght Encoding = RLL): Sok nullát tartalmazó bináris sorozatokban a nullák számát bináris számként adjuk meg.

Például: 
000100100000100001 -> a nullák száma: 3 2 5 4 -> 3 bittel kódolva : 011    010 101 100 
	18 bit								12 bit 

Statisztikai kódolás: a kódhossz a kód előfordulási gyakoriságától függ. Ennek az a lényege hogy a információt leíró kódhalmazban a kódok hosszát azok gyakorisága alapján állapítjuk meg.

Jó példa erre a Morse ABC. Itt az angol szövegek leggyakoribb betűjének az    
“e”-nek a kódja a legrövidebb: a pont. A szintén gyakori “t” — nek pedig a vonás.    
Ilyen vonatkozásban, az ASCII kódrendszer, ahol minden szimbólum hossza egyformán    
7 bit nem jó megoldás. 

Huffmann kódolás: egyes jelek, vagy bájtsorozatok előfordulási gyakoriságát figyeli, és generált kód hossz ettől függ

Aritmetikai kódolás: mint az előbbi, de a megelőző jeleket is figyeli

Transzformációs kódolás: Ilyen például a Fourier transzformáció: egy periodikus időfüggvényt adott amplitudójú és kezdeti fázisszögű szinusz-hullámok összegével írunk le.

Általánosabban fogalmazva nagyon sok folytonos öszetett jelenség írható le    
vektorizációval: egy raszterpontokból álló kép leírható alapalakzatok    
(körök, vonalak, és koordinátáik) segítségével (vektorgrafika). Egy zeneszámot    
MIDI formátumban szintén alap hang és ritmusegységek írnak le, stb. 

Subband kódolás: csak bizonyos frekvenciatartományba eső jeleket transzformáljuk (pl. telefon: 0-4 kHz)

Predikció vagy relatív kódolás: ha az egymást követő jelek nem sokban térnek el egymástól, akkor elég a kis különbségeket kódolni.

Például a PCM Pulzus Kód Modulációnál a beszédet 8 kHz-el mintavételezve 8    
bites felbontással (kvantálással) -> 64 kbit/s adatfolyam keletkezik. Kisebb    
sebességű adatfolyam adódik, ha csak a mintavételezett jelek változását kódoljuk.    
Ez a Delta PCM. 

Ezek az előbbiekben felsorolt módszerek a gyakorlatban mind használhatók, a be- és kitömörítést programok, vagy jelenleg már egyre inkább hardware (egy chip) segítségével oldják meg.

Vissza
Előre