170 likes | 267 Vues
Learn about information compression techniques, including redundancy reduction and relevant parts separation. Understand symmetric and asymmetric compression methods, adaptive coding, and types of redundancies. Explore lossless and lossy coding methods like Huffman and Lempel-Ziv.
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