170 likes | 264 Views
A kommunikáció. Forrás kódolás. Feladat: -az információ tömörítése. Tömörítés. Feladat: az információ redundanciájának csökkentése (megszüntetése). Az adott céltól függő releváns részek leválasztása. tömörítési technikák (adó-vevő függés). Szimmetrikus
E N D
A kommunikáció Forrás kódolás Feladat: -az információ tömörítése Kommunikációs Rendszerek
Tömörítés • Feladat: • az információ redundanciájának csökkentése (megszüntetése). • Az adott céltól függő releváns részek leválasztása. Kommunikációs Rendszerek
tömörítési technikák (adó-vevő függés) • Szimmetrikus • A kompresszió és a dekompresszió nagyjából azonos idő és erőforrás igényű. Az adatátviteli feladatoknál szokásos, ahol a tömörítés-kitömörítés menet közben történik. • Aszimmetrikus • Leggyakoribb olyan esetekben, mikor a kódolás többszörösen időigényesebb, mint a dekódolás Kommunikációs Rendszerek
tömörítési technikák (tartalom függés) • Nem adaptív • Statikus, előre megadott kódtáblát alkalmaz. • Adaptív • A kódtábla építés menet közben történik. • Szemi-adaptív • Az első menetben felépít egy optimális kódtáblát, • Az második menetben történik meg a tömörítés. Kommunikációs Rendszerek
Redundancia tipusok • Mintán belül • entrópia • Minták között • Térbeli redundancia a szomszédos pixelek közötti korreláció következtében • Spektrális redundancia a különböző szín-síkok, vagy spektrum sávok közötti korreláció következtében • Időbeni redundancia az egymást követő minták vagy frame-ek közötti korreláció következtében Kommunikációs Rendszerek
Tömörítő kódolások • Veszteségmentes (entrópia) kódolás • Sorozathossz kódolás (Run Lengh Encoding , RLE). • Statisztikai kódolás (szótár alapú) • Huffman • LZW • Aritmetikai • Prediktív kódolás (veszteség mentes verzió) • Veszteséges • transzformációs Kommunikációs Rendszerek
Entrópia kódolások (a mintán belüli redundancia alapján) Kommunikációs Rendszerek
Sorozathossz kódolás (Run Lengh Encoding , RLE). • Ismétlődő jelsorozatokat helyettesít (jel, szám) formátumú számkettősökkel (tuple)pl.aaaaazz kódolva (a,5) (z,2) • U.n. „horizontális” jelsorozatok esetén kedvező Kommunikációs Rendszerek
Huffman kódolás • A jelek előfordulási gyakoriságán alapszik • A gyakrabban előforduló információ kódolásához kevesebb bitet használ • A kódokat épített „kód-könyvben” tárolja • Kód-könyv • minden adathalmazra (képre) újra létrehozza • Átvitelre kerül a kódolt adathalmazzal együtt a vevő oldalra Kommunikációs Rendszerek
Huffman kódolás a b c d d e e 13 8 5 A szimbólumok lesznek a bináris fa levelei Csökkenő gyakoriság szerint rendezve Kapcsold a kisebb gyakoriságú az ágakat Kommunikációs Rendszerek
Huffman kódolás a b c d e 50 0 1 = 31 0 1 13 18 0 1 0 1 Kommunikációs Rendszerek
Huffman kódolás lépései • 1.- Rendezzük az elemeket az előfordulásuk valószínűségének (gyakoriságaik) sorrendjében. • 2.- A két legvalószínűtlenebb szimbólumból együttes (szülő) szimbólumot képezünk és ezt beírjuk az eredeti szimbólumok közé a valószínűségi sorba. Az új (szülő) szimbólum valószínűsége egyenlő a két (gyermek) szimbólum valószínűségeinek összegével. • 3.- A 2-es eljárást addig ismételjük míg két elemű nem lesz a forrás. Ekkor az egyik elemhez 1-et a másikhoz 0-t rendeljük. • 4.- Visszatérünk az előző, összevont szimbólumhoz. A nagyobb valószínűségűhöz 1-et, a kisebb valószínűségű szimbólumhoz 0-t rendelünk. • 5- Az eljárást addig ismételjük, amíg vissza nem jutunk az eredeti legkisebb valószínűségű szimbólumig. Kommunikációs Rendszerek
Huffman kód • A tömörítési arány mindig nagyobb mint 1.0 • A kód sokszor előre tervezett (pl. nyelv függő gyakoriság) • Ilyenkor kötött kódtábla • Ha a tényleges valószínűségek a tervezés során felvettektől eltérnek, akkor adat kiterjedés is felléphet. • Gyakorlati megvalósítások: • kétmenetes implementáció • Blokk adaptív (kódtábla adat blokkonként) • Rekurziv Huffman (a kódtábla folyamatosan változik) Kommunikációs Rendszerek
Lempel-Ziv-Welch (LZW) • szótár alapú kódolás • a kódtábla építés az algoritmus része, a kódtáblát a tömörítés közben állítja elő. • minden új bitsorozatot felvesz a kódtáblába • A dekódoláshoz nem szükséges a kódtábla megléte • Használja: GIF, TIFF, V.42bis modem tömörítési szabvány, PostScript Level 2, stb. Kommunikációs Rendszerek
Lempel-Ziv kódolás (algoritmus) • 1.-Inicializálás: a szótár fel van töltve az összes alap szimbólummal, W üres. • 2.- K a kódolandó üzenet következő karaktere. • 3.- A W+K jelsorozat megvan már a szótárban ? • - igen, W := W+K (W –t egészíts ki K -val); • - nem • Add a kimenő üzenethez a W - hez rendelt kódot; • vedd fel a szótárba a W+K jelsorozat; • W := K (W most csak a K karaktert tartalmazza); • 4. van még kódolandó karakter ? • Ha igen, kezeld le (lásd 2. Pont); • Ha nincs több: Add a kimenő üzenethez a W- hez rendelt kódot ; Kommunikációs Rendszerek
Lempel-Ziv kódolás (példa) A következő karakter Az ABLAK tartalma Ismert ? Szótár Kimenet Új ABLAK tartalom Inicializálás [] #1 = ’A’ [] #2 = ‘B’ [] #3 = ‘C’ Iteráció A [A] Igen(#1) B [AB] nem #4 = ‘AB’ #1 [B] A [BA] nem #5 = ‘BA’ #2 [A] B [AB] igen (#4) A [ABA] nem #6 = ‘ABA’ #4 [A] A [AA] nem #7 = ‘AA’ #1 [A] A [AA] igen (#7) Vége üres [AA] #7 A jelkészlet :{A,B,C} Az üzenet:[ABABAAA] Kommunikációs Rendszerek
Veszteséges kódolási technikák • Transzformációskódolás • DFT • DCT • Wavelet (Haar Hadamard) Kommunikációs Rendszerek