Ngjeshja e të dhënave

**Ngjeshja e të dhënave** apo **komprimimi (kompresimi) i të dhënave** është procesi i zvogëlimit të hapësirës së zënë nga të dhënat në një pajisje digjitale ose pajisje kompjuterike. Ky proces kryhet nëpërmjet algoritmeve të ndryshëm të kompresimit, duke ulur sasinë e bajtëve të nevojshëm për të përfaqësuar një të dhënë, qoftë kjo një imazh, një tekst, apo një skedar çfarëdo.

Ngjeshja e të dhënave ka për qëllim gjithashtu eliminimin e tepricave, duke u bazuar në faktin se shumë të dhëna përmbajnë informacion të tepërt që mund ose duhet të hiqet në një farë mënyre. Kjo mënyrë bazohet në një rregull, të quajtur kod ose protokoll, i cili, kur ndiqet, eliminon bitet e tepërta të informacionit, duke ulur kështu madhësinë e tyre në skedarë. Për shembull, vargu "AAAAAA," i cili zë 6 bajtë, mund të përfaqësohet me vargun "6A," që zë vetëm 2 bajtë, duke kursyer 67% të hapësirës.

Përveç eliminimit të tepricave, të dhënat ngjeshen për arsye të ndryshme. Ndër më të nevojshmet janë në kursimin e hapësirës në pajisjet e ruajtjes, si disqet e forta, ose përmirësimi i performancës gjatë transmetimeve (zvogëlimi i kohës së transmetimit).

## Teoria 
Baza teorike e kompresimit mbështetet nga teoria e informacionit dhe, më saktësisht, nga teorema e kodimit burimor e Shannon-it. Teoritë e veçanta për fusha specifike përfshijnë teorinë e informacionit algoritmik për ngjeshjen pa humbje dhe teorinë e shkallës-shtrembërim për ngjeshjen me humbje. Këto fusha studimi u krijuan kryesisht nga Klod Shanon, i cili botoi punime themelore mbi këtë temë në fund të viteve 1940 dhe fillim të viteve 1950. Të tjera tema të lidhura me kompresimin përfshijnë teorinë e kodimit dhe përfundimeve statistikore.

### Të mësuarit makinerik 
Ekziston një lidhje e ngushtë midis të mësuarit makinerik dhe ngjeshjes. Një sistem që parashikon probabilitetet e pasëm të një vargu, duke u bazuar në të gjithë historinë e tij, mund të përdoret për ngjeshjen optimale të të dhënave (duke përdorur kodimin aritmetik mbi shpërndarjen e daljes). Anasjelltas, një ngjeshës optimal mund të përdoret për parashikim (duke gjetur simbolin që ngjesh më mirë, duke u bazuar në historinë e mëparshme). Kjo ekuivalencë është përdorur si një justifikim për përdorimin e kompresimit të të dhënave si një standard vlerësimi për "inteligjencën e përgjithshme."

Sipas teorisë *AIXI*, e shpjeguar në *Çmimin Hutter*, kompresimi më i mirë i mundshëm i ***x*** është softueri më i vogël i mundshëm që gjeneron ***x***. Për shembull, në atë model, madhësia e skedarit të ngjeshur përfshin si skedarin zip ashtu edhe softuerin e shpaketimit (unzip), pasi nuk mund të shpaketohet pa të dyja, por megjithatë mund të ekzistojë një formë tjetër edhe më e vogël e këtij kombinimi.

Shembuj të softuerëve të ngjeshjes audio/video të fuqizuar nga Inteligjenca Artificiale janë: *NVIDIA Maxine* dhe *AIVC***.** Shembuj të softuerëve që mund të kryejnë kompresim të imazheve të fuqizuar nga IA përfshijnë *OpenCV*, *TensorFlow*, *MATLAB Image Processing Toolbox (IPT)* dhe *High-Fidelity Generative Image Compression*.

Në të mësuarit e pambikëqyrur makinerik, grupimi me k-mesatare mund të përdoret për të kompresuar të dhënat duke grupuar pikët e dhënave të ngjashme në grupime. Kjo teknikë thjeshton trajtimin e grupeve të mëdha të të dhënave të paetiketuara paraprakisht dhe gjen përdorim të gjerë në fusha të tilla si kompresimi i imazheve.

## Kompresimi pa humbje 
Algoritmet e kompresimit të të dhënave pa humbje funksionojnë duke përdorur tepricën statistikore për të përfaqësuar informacionin në një mënyrë që mund të rikthehet plotësisht, pa humbur asgjë nga përmbajtja origjinale. Kjo është e mundur sepse të dhënat reale shpesh përmbajnë tepricë statistikore. Për shembull, në një imazh, mund të ketë zona ku ngjyra mbetet e njëjtë për disa pikselë radhazi; në vend që të ruhet si "piksel i kuq, piksel i kuq, ...", mund të përfaqësohet më shkurt si "279 pikselë të kuq". Ky është një ilustrim i thjeshtë i një teknike të quajtur **kodim me gjatësi ekzekutimi**, megjithëse ekzistojnë shumë metoda të tjera për të zvogëluar madhësinë e skedarit duke eliminuar tepricën.

Metodat e kompresimit **Lempel–Ziv (LZ)** janë ndër algoritmet më të përdorura për kompresimin pa humbje. Një nga variantet më të njohura, **DEFLATE**, është i optimizuar për një kombinim të mirë midis shpejtësisë së dekompresimit dhe efikasitetit të kompresimit, megjithëse procesi i kompresimit mund të jetë më i ngadaltë. Në vitet 1980, pas zhvillimeve të Terry Welch, algoritmi **Lempel–Ziv–Welch (LZW)** u bë shpejt një nga metodat më të preferuara për kompresimin me qëllim të përgjithshëm. Gjeti përdorim në formate si **imazhet GIF**, aplikacione si **PKZIP** dhe pajisje harduerike, përfshirë **modemët**. Metodat LZ funksionojnë duke përdorur një model kompresimi të bazuar në tabelë, ku vargjet e përsëritura zëvendësohen me hyrje të tabelës. Në shumicën e këtyre metodave, tabela krijohet në mënyrë dinamike nga të dhënat e mëparshme në hyrje dhe shpesh kodimi i tabelës realizohet përmes **kodimit Huffman**. Algoritmet e bazuara në gramatikë, si këto, janë veçanërisht efektive në kompresimin e të dhënave të përsëritura, për shembull në koleksionet biologjike të të dhënave për specie të ngjashme, dokumente të versionuara, ose arkiva të mëdha në internet. Qëllimi kryesor i metodave të bazuara në gramatikë është ndërtimi i një gramatike pa kontekst që gjeneron një varg të vetëm. Algoritme të tjera të njohura dhe praktike për këtë qëllim përfshijnë **Sequitur** dhe **Re-Pair**.

Kompresorët modernë pa humbje përdorin modele probabiliste, si **parashikimi me përputhje të pjesshme**, për të arritur nivele më të larta kompresimi. Një teknikë tjetër që përdoret shpesh është **transformimi Burrows-Wheeler**, i cili mund të konsiderohet një formë indirekte e modelimit statistikor. Një qasje më e avancuar është kombinimi i vlerësimeve statistikore me algoritmin e njohur si **kodimi aritmetik**. **Kodimi aritmetik** është një metodë moderne e kodimit që përdor llogaritje matematikore të një makine me gjendje të fundme për të gjeneruar një varg bitesh nga simbolet hyrëse. Kjo teknikë ofron një shkallë më të lartë kompresimi krahasuar me algoritme të tjera, siç është **kodimi Huffman**. Një nga avantazhet kryesore të kësaj metode është përdorimi i një gjendjeje të brendshme të memories, e cila shmang nevojën për të përfaqësuar çdo simbol hyrës individualisht me një numër të plotë bitesh. Memoria e brendshme pastrohet vetëm pasi të përfundojë kodimi i të gjithë vargut të simboleve hyrëse. **Kodimi aritmetik** është veçanërisht i dobishëm për detyrat adaptive të kompresimit të të dhënave, ku statistikat e të dhënave ndryshojnë dhe varen nga konteksti, pasi ai mund të kombinohet lehtësisht me modele adaptive të shpërndarjes së probabilitetit. Një nga aplikimet e hershme të kësaj teknike ishte në një veçori opsionale të standardit të kodimit të imazheve **JPEG**, megjithëse nuk u përdor gjerësisht. Që atëherë, ai është zbatuar në një sërë standardesh, përfshirë **H.263**, **H.264/MPEG-4 AVC**, dhe **HEVC**, të cilët përdoren për kodimin e videove.

Programet e arkivimit zakonisht ofrojnë mundësinë për të përcaktuar madhësinë e "fjalorit", e cila ndikon në performancën e kompresimit dhe përdorimin e memories. Një fjalor më i madh zakonisht kërkon më shumë burime të memories me akses të rastësishëm gjatë proceseve të kompresimit dhe dekompresimit, por mund të rezultojë në një shkallë më të lartë kompresimi, veçanërisht kur skedarët përmbajnë modele të përsëritura në përmbajtjen e tyre.

## Kompreseimi me humbje 
parapamje|Imazhi i përbërë që tregon kompresimin e imazhit JPG dhe PNG. Ana e majtë e imazhit është nga një imazh JPEG, që tregon artefakte me humbje; ana e djathtë është nga një imazh PNG.
Në fund të viteve 1980, me rritjen e përdorimit të imazheve dixhitale, u prezantuan standarde për kompresimin pa humbje të imazheve. Në fillim të viteve 1990, metodat e kompresimit me humbje u bënë gjithnjë e më të përhapura. Këto teknika pranojnë një shkallë humbjeje të informacionit, duke eliminuar detaje më pak të rëndësishme për të kursyer hapësirë të memories. Kjo krijon një kompromis midis ruajtjes së detajeve dhe zvogëlimit të madhësisë së skedarit. Skemat e kompresimit me humbje mbështeten në hulumtime mbi perceptimin njerëzor të të dhënave. Për shembull, syri i njeriut është më i ndjeshëm ndaj ndryshimeve të ndriçimit sesa të ngjyrës, një parim që shfrytëzohet nga **kompresimi JPEG** duke eliminuar informacionin e tepërt dhe jo thelbësor. Metoda të tilla perceptuese përdoren gjerësisht në formate të njohura për kompresimin e të dhënave, duke përfshirë **psikoakustikën** për tingujt dhe **psikovizualet** për imazhe dhe video.

Shumica e metodave të kompresimit me humbje mbështeten në **kodimin e transformimeve**, me **transformimin diskret të kosinusit (DCT)** si teknikën më të përdorur. DCT u propozua për herë të parë në 1972 nga Nasir Ahmed, i cili më vonë zhvilloi një algoritëm funksional me T. Natarajan dhe KR Rao në 1973, dhe e prezantuan atë në janar 1974. DCT është metoda kryesore e kompresimit me humbje dhe përdoret gjerësisht në formate multimediale për **imazhe** (si **JPEG** dhe **HEIF**), **video** (si **MPEG**, **AVC**, dhe **HEVC**), dhe **audio** (si **MP3**, **AAC**, dhe **Vorbis**).

Kompresimi i imazhit me humbje përdoret shpesh në **kamerat dixhitale** për të rritur kapacitetin e ruajtjes. Po ashtu, **DVD-të**, **Blu-ray**, dhe **video streaming** përdorin formate të kodimit me humbje për video për të optimizuar përdorimin e hapësirës dhe për të siguruar transmetim të shpejtë. Kompresimi me humbje është veçanërisht i zakonshëm dhe i efektshëm në fushën e videove.

Në **kompresimin audio me humbje**, përdoren metoda **psikoakustike** për të eliminuar komponentët e sinjalit audio që janë jo të dëgjueshëm ose më pak të dëgjueshëm për të zvogëluar madhësinë e skedarit pa ndikuar ndjeshëm në cilësinë e dëgjimit. Kompresimi i **të folurit njerëzor** shpesh përdor teknika më të specializuara, duke e veçuar atë nga kompresimi audio për qëllime të përgjithshme. **Kodimi i të folurit** është një disiplinë e veçantë që përdoret në aplikacione si **telefonia në internet**, ku kompresimi i audios lejon transmetimin efikas të sinjalit. Përkundrazi, kompresimi audio për **riprodhimin e CD-së** përdoret për të ruajtur cilësinë e lartë të zërit dhe për deshifrimin nga **luajtësit audio**.

## Teoria 
Baza teorike e **kompresimit të të dhënave** sigurohet nga **teoria e informacionit**, e cila është e strukturuar më konkretisht në **teoremën e kodimit burimor të Shannon-it**. Kjo teori është themeluar nga **Claude Shannon**, i cili zhvilloi dokumente themelore mbi këtë temë në fund të viteve 1940 dhe në fillim të viteve 1950. Për kompresimin pa humbje, përdoret **teoria algoritmike e informacionit**, ndërsa për kompresimin me humbje, përdoret **teoria e shtrembërimit të shkallës**. Këto fusha të studimit janë të lidhura ngushtë me **teorinë e kodimit** dhe **konkluzionet statistikore**, që janë gjithashtu të rëndësishme për zhvillimin e metodave të kompresimit.

### Mësimi i makinës 
Ekziston një lidhje e ngushtë midis mësimit të makinerisë dhe kompresimit. Një sistem që parashikon probabilitetet e pasme të një sekuence duke pasur parasysh të gjithë historinë e saj mund të përdoret për kompresimin optimal të të dhënave (duke përdorur kodimin aritmetik në shpërndarjen e daljes). Në të kundërt, një **kompresor optimal** mund të përdoret për **parashikim**, duke gjetur simbolin që mund të ngjeshë më mirë në bazë të historisë së mëparshme të të dhënave. Kjo **ekuivalencë** është përdorur si një justifikim për përdorimin e **kompresimit të të dhënave** si një pikë referimi për "inteligjencën e përgjithshme", pasi një kompresor që mund të parashikojë në mënyrë efikase modelet dhe varësitë në të dhëna tregon aftësinë e tij për të kapur struktura komplekse, një cilësi që lidhet me inteligjencën.

Një **pamje alternative** mund të tregojë algoritmet e **ngjeshjes** si një proces që **harton vargjet në vektorë** të **hapësirës së veçorive të nënkuptuara**, ndërsa matjet e ngjashmërisë të bazuara në kompresim **llogarisin ngjashmërinë brenda këtyre hapësirave të veçorive**. Për çdo **kompresor C(.)**, mund të përcaktohet një hapësirë vektoriale të lidhur, e cila është e tillë që **C(.)** harton një varg hyrës **x**, që korrespondon me normën vektoriale **||~x||**. Një analizë e plotë e hapësirave të veçorive që qëndrojnë në themel të të gjitha algoritmeve të kompresimit është shpesh e përjashtuar, dhe në vend të kësaj, vektorët e veçorive mund të zgjidhen për të ekzaminuar tre metoda përfaqësuese të kompresimit pa humbje, si **LZW**, **LZ77**, dhe **PPM**.

Sipas **teorisë AIXI**, e shpjeguar më drejtpërdrejt në **Hutter Prize**, **kompresimi më i mirë i mundshëm** i një objekti **x** është **softueri më i vogël i mundshëm** që mund të gjenerojë **x**. Kjo nënkupton që, në këtë model, madhësia e ngjeshur e një skedari **zip** përfshin jo vetëm skedarin zip, por edhe softuerin e **zbërthimit**, pasi për të zbërthyer skedarin, nevojiten të dyja komponentët. Megjithatë, mund të ekzistojë një formë **kombinuese** më e vogël që përfshin si skedarin zip ashtu edhe programin për dekompresimin e tij, duke e bërë më të efektshëm procesin e kompresimit.

Shembuj të softuerit të kompresimit të audio/videos me fuqi AI përfshijnë NVIDIA Maxine, AIVC. Shembuj të softuerëve që mund të kryejnë kompresimin e imazhit me AI përfshijnë OpenCV, TensorFlow, MATLAB 's Image Processing Toolbox (IPT) dhe Kompresim Gjenerativ i Imazhit me Besueshmëri të Lartë.

Në **mësimin e pambikëqyrur të makinerive**, **grupimi k-means** mund të përdoret për të **kompresuar të dhënat** duke grupuar pika të ngjashme të të dhënave në grupe. Kjo teknikë thjeshton trajtimin e grupeve të mëdha të të dhënave që nuk kanë etiketat e paracaktuara dhe përdoret gjerësisht në fusha të ndryshme, përfshirë **kompresimin e imazhit**. Në këtë proces, të dhënat ndahen në grupe të cilat minimizojnë distancat brenda secilit grup, duke i bërë ato më të menaxhueshme dhe më të thjeshta për përdorim.

**Kompresimi i të dhënave** ka për qëllim të zvogëlojë madhësinë e skedarëve të të dhënave, duke përmirësuar efikasitetin e ruajtjes dhe duke përshpejtuar transmetimin e të dhënave. **Grupimi k-means**, një algoritëm i pambikëqyrur i mësimit të makinerisë, përdoret për të ndarë një grup të dhënash në një numër të caktuar grupimesh, **k**, ku secili grup përfaqësohet nga një qendër e pikave të tij. Ky proces kompakton të dhënat e gjera në një grup më të vogël pikash përfaqësuese. Veçanërisht i dobishëm në **përpunimin e imazhit dhe sinjalit**, grupimi k-means ndihmon në reduktimin e madhësisë së të dhënave duke zëvendësuar grupet e pikave të dhënave me qendrat e tyre, duke ruajtur informacionin kyç të të dhënave origjinale dhe duke zvogëluar ndjeshëm hapësirën e kërkuar për ruajtje.

Modelet e gjuhëve të mëdha (LLM) janë gjithashtu të afta për kompresim të të dhënave pa humbje, siç tregohet nga hulumtimi i DeepMind me modelin Chinchilla 70B. Chinchilla 70B ka demonstruar një aftësi të jashtëzakonshme për të kompresuar të dhënat, duke tejkaluar metodat tradicionale të kompresimit si **Portable Network Graphics (PNG)** për imazhet dhe **Free Lossless Audio Codec (FLAC)** për audio. Ky model arriti të kompresojë të dhënat e imazhit dhe audio në vetëm **43.4%** dhe **16.4%** të madhësive të tyre origjinale, respektivisht..

### Diferencimi i të dhënave 
parapamje|Krahasimi i dy rishikimeve të një skedari
Kompresimi i të dhënave mund të interpretohet si një formë të veçantë të **diferencimit të të dhënave**. Diferencimi i të dhënave përfshin krijimin e një ndryshimi midis një burimi dhe një objekti, duke rregulluar riprodhimin e objektivit duke përdorur një burim dhe një ndryshim të caktuar. Në kontekstin e kompresimit të të dhënave, nuk ka një burim dhe objektiv të qartë, por mund të shihet si një proces ku të dhënat ngjeshen për të krijuar një skedar të ngjeshur, që është një ndryshim nga një gjendje fillestare bosh (nuk ka asnjë të dhënë). Kjo mund të shihet si një mënyrë për të përfaqësuar të dhënat duke hequr informacionin e panevojshëm ose duke përdorur një formë më të kompresuar që pasqyron ndryshimin nga gjendja origjinale. Kjo është njësoj si ta konsiderojmë entropinë absolute (që korrespondon me kompresimin e të dhënave) si një rast të veçantë të entropisë relative (që korrespondon me diferencimin e të dhënave) pa të dhëna fillestare.

Termi *kompresim diferencial* përdoret për të theksuar lidhjen e diferencimit të të dhënave.

## Përdorimet 
### Imazhi 
Kodimi i entropisë ka origjinën e tij në vitet 1940, me zhvillimin e **kodimit Shannon-Fano**, që shërbeu si një bazë për kodimin **Huffman**, i cili u zhvillua në vitin 1950. Kodimi i transformimit ka një histori të mëvonshme, që daton në fund të viteve 1960. Në vitin 1968, u prezantua **kodimi i transformimit të shpejtë të Furierit (FFT)**, i cili ishte një avancim i rëndësishëm në përpunimin e sinjaleve dhe kompresimin e të dhënave. Ndërkohë, në vitin 1969, u zhvillua **transformimi Hadamard**, një metodë tjetër për përpunimin e të dhënave dhe kompresimin e tyre. Këto zhvillime përbëjnë disa nga themellet e teknologjive moderne të kompresimit dhe përpunimit të të dhënave.

Një teknikë e rëndësishme e kompresimit të imazhit është **transformimi diskret i kosinusit (DCT)**, i cili u zhvillua në fillim të viteve 1970. DCT është baza për formatin **JPEG**, një metodë kompresimi me humbje që u prezantua nga **Joint Photographic Experts Group (JPEG)** në vitin 1992. **JPEG** përdor DCT për të reduktuar në mënyrë të konsiderueshme sasinë e të dhënave të nevojshme për të përfaqësuar një imazh, duke i dhënë prioritet mbajtjes së informacioneve më të rëndësishme për perceptimin e cilësisë vizuale. Megjithatë, kompresimi me JPEG ka një kosto të vogël të humbjes së cilësisë së imazhit, por kjo është e pranueshme në shumë raste për shkak të kursimit të hapësirës së ruajtjes. Si rezultat, JPEG është bërë formati më i përdorur i skedarëve të imazheve. Algoritmi i tij shumë efikas i kompresimit i bazuar në DCT ishte kryesisht përgjegjës për përhapjen e gjerë të imazheve dixhitale dhe fotove dixhitale .

**Lempel–Ziv–Welch (LZW)** është një algoritëm kompresimi pa humbje, i zhvilluar në vitin 1984 nga Terry Welch. Ky algoritëm është përdorur në formatin **GIF**, i cili u prezantua në vitin 1987. LZW funksionon duke krijuar një fjalor të dinamik që përfaqëson vargjet e të dhënave të hyrjes dhe përdor këto për të zëvendësuar tekstet e përsëritura me referenca më të shkurtëra.

Një tjetër algoritëm kompresimi pa humbje është **DEFLATE**, i specifikuar në vitin 1996. DEFLATE është përdorur në formatin **Portable Network Graphics (PNG).**

Kompresimi i valëve, që filloi të përdoret pas zhvillimit të kodimit DCT, u bë më i përhapur me prezantimin e standardit **JPEG 2000** në vitin 2000. Ndryshe nga **JPEG** që përdor **DCT**, **JPEG 2000** përdor **transformimin diskret të valëve (DWT)**. Kjo teknologji ofron kompresim më efikas dhe cilësi më të lartë, veçanërisht për imazhe të mëdha. Në 2004, **JPEG 2000** u zgjodh si standardi i kodimit të videove për kinemanë dixhitale.

### Audio 
Kompresimi i të dhënave audio, që nuk duhet ngatërruar me kompresimin e diapazonit dinamik, ka potencialin të reduktojë gjerësinë e brezit të transmetimit dhe kërkesat e ruajtjes së të dhënave audio. Algoritmet e kompresimit të formateve të kompresimit audio zbatohen në softuer si kodekë audio. përdorur për të përfaqësuar të dhënat e pakompresuara. Në kompresimin me humbje dhe pa humbje, teprica e informacionit reduktohet duke përdorur metoda si kodimi, kuantizimi, DCT dhe parashikimi linear. Këto teknika ndihmojnë në uljen e sasisë së informacionit të nevojshëm për të përfaqësuar të dhënat e pakompresuara.

Algoritmet e kompresimit të audios me humbje ofrojnë kompresim më të lartë dhe përdoren në shumë aplikacione audio, duke përfshirë Vorbis dhe MP3 . Këto algoritme shpesh përdorin psikoakustikën për të hequr ose zvogëluar besnikërinë e tingujve që janë më pak të dëgjueshëm, duke ndihmuar kështu në uljen e hapësirës së kërkuar për ruajtjen ose transmetimin e tyre.

Kombinimi i pranueshëm mes humbjes së cilësisë së audios dhe madhësisë së transmetimit ose ruajtjes varet nga kërkesat specifike të aplikacionit. Për shembull, një disk kompakt 640&nbsp;MB (CD) mban afërsisht një orë muzikë të pakompresuar me besnikëri të lartë, më pak se 2 orë muzikë të ngjeshur pa humbje ose 7 orë muzikë të ngjeshur në formatin MP3 me një shpejtësi mesatare bit .Një regjistrues dixhital i zërit zakonisht mund të ruajë rreth 200 orë të folur qartësisht të kuptueshëm në një hapësirë prej 640&nbsp;MB.

Kompresimi audio pa humbje krijon një përfaqësim dixhital të të dhënave që mund të dekodohen në një kopje të saktë të origjinalit. Shkalla e kompresimit është rreth 50-60% e madhësisë së origjinalit, e ngjashme me kompresimin e përgjithshëm të të dhënave pa humbje. Kodekët pa humbje përdorin teknikën e përshtatjes së kurbës ose parashikimin linear për të vlerësuar sinjalin. Parametrat që përshkruajnë këtë vlerësim dhe ndryshimin midis vlerësimit dhe sinjalit aktual kodohen veçmas.

Ekzistojnë disa formate kompresimi audio pa humbje, që përfshijnë kodekët e njohur si FLAC (Free Lossless Audio Codec), ALAC (Apple Lossless Audio Codec), dhe WavPack. Disa formate janë të lidhura me sisteme të veçanta, si Transferimi i Rrjedhës Direkte (DST), i përdorur në Super Audio CD (SACD), dhe Meridian Lossless Packing (MLP), i përdorur në DVD-Audio dhe Dolby TrueHD, Blu-ray dhe HD DVD .

Disa formate skedarësh audio kombinojnë kompresimin me humbje me një komponent korrigjimi pa humbje, duke mundësuar ruajtjen e cilësisë së lartë pa humbje përmes një skedari më të vogël dhe pastaj mundësinë e rikthimit të informacionit të plotë nëse është e nevojshme. Këto formate përfshijnë MPEG-4 SLS (Scalable to Lossless), WavPack, dhe OptimFROG DualStream.

Kur skedarët audio janë të nevojshëm për përpunim, si kompresim shtesë ose redaktim, është më e preferueshme të përdoret një version origjinal, i pandryshuar (i pakompresuar ose i ngjeshur pa humbje). Puna me një skedar të ngjeshur me humbje zakonisht çon në një cilësi më të ulët krahasuar me krijimin e të njëjtit skedar nga një origjinal i pakompresuar. Përveç redaktimit ose përzierjes së tingujve, kompresimi audio pa humbje përdoret shpesh për qëllime arkivimi ose si kopje kryesore.

#### Kompresim audio me humbje 
parapamje|Krahasimi i spektrogrameve të audios në një format të pakompresuar dhe disa formate me humbje. Spektrogramet me humbje tregojnë kufizimin e brezit të frekuencave më të larta, një teknikë e zakonshme e lidhur me kompresimin audio me humbje.
Kompresimi i audios me humbje përdoret në shumë aplikacione. Përveç përdorimit për riprodhimin e skedarëve audio në luajtës MP3 ose kompjuterë, transmetimet audio të ngjeshura dixhitalisht janë të përdorura në shumicën e DVD-ve me video dhe televizionin dixhital, mediat transmetuese në internet, radio satelitore dhe kabllore dhe gjithnjë e më shumë në transmetimet radio tokësore. Kompresimi me humbje zakonisht arrin kompresim shumë më të madh se kompresimi pa humbje, duke hedhur poshtë të dhënat më pak kritike të bazuara në optimizimet psikoakustike .

Psikoakustika nënkupton se jo të gjitha të dhënat në një transmetim audio janë të perceptueshme nga sistemi i dëgjimit njerëzor. Shumica e kompresimit me humbje zvogëlon tepricën duke identifikuar tingujt që janë perceptualisht të parëndësishëm, siç janë frekuencat e larta ose tingujt që ndodhin paralelisht me tinguj më të fortë. Këta tinguj të parëndësishëm kodohen me një saktësi më të ulët ose fare.

Për shkak të karakteristikave të algoritmeve me humbje, cilësia e audios përkeqësohet pas dekompresimit dhe rikompresimit të një skedari. Kjo e bën kompresimin me humbje të papërshtatshëm për ruajtjen e rezultateve të ndërmjetme në aplikacionet profesionale të inxhinierisë audio, si redaktimi i zërit dhe regjistrimi me shumë këngë. Megjithatë, formatet me humbje si MP3 janë shumë të njohura me përdoruesit fundorë pasi madhësia e skedarit është reduktuar në 5-20% të madhësisë origjinale dhe një megabajt mund të ruajë muzikë me vlerë rreth një minutë me cilësi të përshtatshme.

Janë zhvilluar disa algoritme të kompresimit me humbje të pronarit që ofrojnë performancë audio me cilësi më të lartë duke përdorur një kombinim të algoritmeve pa humbje dhe me humbje, me shpejtësi bit adaptive dhe raporte më të ulëta të kompresimit. Shembujt përfshijnë aptX, LDAC, LHDC dhe MQA dhe SCL6 .

##### Metodat e kodimit 
Për të përcaktuar se çfarë informacioni në një sinjal audio është perceptualisht i parëndësishëm, shumica e algoritmeve të kompresimit me humbje përdorin transformime të tilla si transformimi i modifikuar diskrete i kosinusit (MDCT) për të kthyer format e valëve të mostrave të domenit kohor në një domen transformimi, zakonisht në domenin e frekuencës .Pasi të transformohen, frekuencat e komponentëve mund të prioritizohen në përputhje me sa të dëgjueshme janë. Dëgjueshmëria e komponentëve spektralë vlerësohet duke përdorur pragun absolut të dëgjimit dhe parimet e maskimit të njëkohshëm, një fenomen ku një sinjal maskohet nga një tjetër që ka frekuenca të ndryshme, dhe në disa raste, maskimi i përkohshëm, ku një sinjal maskohet nga një tjetër sipas kohës. Konturet me zë të barabartë gjithashtu mund të përdoren për të peshuar rëndësinë perceptuese të komponentëve. Modelet e kombinimit vesh-tru të njeriut që përfshijnë efekte të tilla shpesh quhen modele psikoakustike .

Llojet e tjera të kompresorëve me humbje, siç është kodimi parashikues linear (LPC) i përdorur për të folur, janë kodues të bazuar në burim. LPC përdor një model të traktit vokal të njeriut për të analizuar tingujt e të folurit dhe për të nxjerrë parametrat që përdoren nga ky model për të prodhuar tingujt në kohë reale. Këta parametra, të cilët ndryshojnë, transmetohen ose ruhen dhe përdoren për të drejtuar një model tjetër në dekoder që riprodhon zërin.

Formatet me humbje shpesh përdoren për shpërndarjen e audios ose komunikimin interaktiv (siç ndodh në rrjetet e telefonave celularë). Në këto aplikacione, të dhënat duhet të dekompresohen ndërsa rrjedha e të dhënave po transmetohet, dhe jo pasi të jetë transmetuar i gjithë fluksi. Jo të gjithë kodekët audio janë të përshtatshëm për aplikacione të tilla transmetimi.

Vonesa futet nga metodat e përdorura për të koduar dhe deshifruar të dhënat. Disa kodekë analizojnë një segment më të gjatë të të dhënave, të quajtur kornizë, për të optimizuar efikasitetin dhe pastaj kodifikojnë atë në një mënyrë që kërkon një sasi më të madhe të të dhënave për deshifrimin. Vonesa e rëndësishme e algoritmit të kodimit mund të jetë e rëndësishme; për shembull, në transmetimin e dyanshëm të të dhënave, si në një bisedë telefonike, vonesat e mëdha mund të ndikojnë negativisht në cilësinë e perceptuar.

Në kundërshtim me shpejtësinë e kompresimit, e cila është e proporcional me numrin e operacioneve që kërkon algoritmi, këtu latenca i referohet numrit të mostrave që duhet të analizohet përpara se një bllok i audios të procesohet. Në rastin minimal, latenca është zero mostra (p.sh., nëse koduesi/dekoduesi thjesht zvogëlon numrin e bitëve që përdoren për të kuantizuar sinjalin). Algoritmet në domenin e kohës, si LPC, shpesh kanë latenca të ulëta, prandaj ato janë popullore në kodimin e të folurit për telefoninë. Ndërkaq, në algoritme të tilla si MP3, një numër i madh muestras duhet të analizohet për të zbatuar një model psikoakustik në domenin e frekuencës, dhe latenca është rreth 23 ms.

##### Kodimi i të folurit 
Kodimi i të folurit është një kategori e rëndësishme e kompresimit të audios. Modelet perceptuese që përdoren për të vlerësuar cilat aspekte të të folurit mund të perceptohen nga veshi njerëzor zakonisht dallohen nga ato që përdoren për muzikën. Gama e frekuencave të nevojshme për të transmetuar tingujt e një zëri njerëzor është zakonisht shumë më e ngushtë se ajo e kërkuar për muzikën, dhe tingulli është shpesh më pak kompleks. Si pasojë, të folurit mund të kodohen me cilësi të lartë duke përdorur një shpejtësi më të ulët të biteve.

Kjo arrihet, në përgjithësi, nga një kombinim i dy qasjeve:

* Vetëm kodimi i tingujve që mund të bëheshin nga një zë i vetëm njerëzor.
* Hedhja më e madhe e të dhënave në sinjal – duke mbajtur aq sa për të rindërtuar një zë "të kuptueshëm" dhe jo gamën e plotë të frekuencës së dëgjimit njerëzor.

Algoritmet më të hershme të përdorura në kodimin e të folurit (dhe kompresimin e të dhënave audio në përgjithësi) ishin algoritmi A-ligj dhe algoritmi μ-ligj.

#### Historia 
[djathtas|parapamje|Solidyne 922: [Karta e zërit|Karta e parë komerciale në botë me kompresim audio për PC, 1990]]
Hulumtimi i hershëm audio u krye në Bell Labs. Atje, në vitin 1950, C. Chapin Cutler paraqiti patentën për modulimin e kodit të pulsit diferencial (DPCM). Në vitin 1973, DPCM adaptiv (ADPCM) u prezantua nga P. Cummiskey, Nikil S. Jayant dhe James L. Flanagan.

Kodimi perceptues u përdor fillimisht për kompresimin e kodimit të të folurit, me kodim parashikues linear (LPC). Konceptet fillestare për LPC datojnë që nga puna e Fumitada Itakura (Universiteti Nagoya) dhe Shuzo Saito (Nippon Telegraph and Telephone) në 1966. Gjatë viteve 1970, Bishnu S. Atal dhe Manfred R. Schroeder në Bell Labs zhvilluan një formë të LPC të quajtur kodimi parashikues adaptiv (APC), një algoritëm kodimi perceptues që shfrytëzonte vetitë maskuese të veshit të njeriut. Ky algoritëm u ndoq në fillim të viteve 1980 nga algoritmi i parashikimit linear të ngacmuar nga kodi (CELP), i cili arriti një raport të konsiderueshëm kompresimi për kohën e vet. Kodimi perceptues përdoret nga formatet moderne të kompresimit audio si MP3  dhe AAC .

Transformimi i kosinusit diskret (DCT), i zhvilluar nga Nasir Ahmed, T. Natarajan dhe KR Rao në 1974, ishte baza për krijimin e transformimit të modifikuar të kosinusit diskret (MDCT), i përdorur në formatet moderne të kompresimit audio si MP3, Dolby Digital dhe AAC. MDCT u propozua nga JP Princen, AW Johnson dhe AB Bradley në 1987, pas punës paraprake të Princen dhe Bradley në 1986.

Sistemi i parë komercial në botë për kompresimin e audios dhe automatizimin e transmetimit u zhvillua nga Oscar Bonello, një profesor inxhinierie në Universitetin e Buenos Aires. Në vitin 1983, ai filloi të zhvillonte një aplikacion praktik duke përdorur parimin psikoakustik të maskimit të brezave kritikë, i cili ishte publikuar për herë të parë në 1967. Bonello përdori kompjuterin PC IBM të zhvilluar kohët e fundit dhe në vitin 1987 lansoi sistemin e automatizimit të transmetimit me emrin Audicom. 35 vjet më vonë, kjo teknologji u përdor nga shumica e stacioneve radio në botë, pasi shpikësi refuzoi të merrte patentat për shpikjet e tij dhe e publikoi atë në Domenin Publik.

Një përmbledhje e literaturës për një shumëllojshmëri të sistemeve të kodimit audio u publikua në Revistën IEEE mbi Zonat e Zgjedhura në Komunikim (JSAC) në shkurt të vitit 1988. Ky koleksion dokumentoi një gamë të gjerë koduesish audio të zhvilluar deri në atë kohë, shumica prej të cilëve përdornin teknika perceptuese dhe lloje të ndryshme analizash frekuencore dhe kodim pa zhurmë. Edhe pse kishte disa dokumente para këtij koleksioni, ai ofroi një pasqyrë të gjerë dhe të hollësishme për sistemet audio të përdorura atëherë.

### Video 
Videoja e pakompresuar kërkon një shpejtësi të lartë të të dhënave. Edhe pse kodekët e kompresimit të videos pa humbje mund të arrijnë një faktor kompresimi nga 5 deri në 12, një video e kompresuar me humbje me H.264 ka një faktor kompresimi që varion nga 20 deri në 200.

Dy teknikat kryesore të kompresimit të videos të përdorura në standardet e kodimit të videos janë DCT dhe kompensimi i lëvizjes (MC). Shumica e standardeve të kodimit të videove, si formatet H.26x dhe MPEG, zakonisht përdorin kodim video DCT të përmirësuar me kompensimin e lëvizjes, i njohur si kompensimi i lëvizjes së bllokut.

Shumica e kodekëve të videove përdoren së bashku me teknikat e kompresimit të audios për të ruajtur rrjedhat e të dhënave të veçanta por plotësuese si një paketë të kombinuar, duke përdorur të ashtuquajturat formate të kontejnerëve.

#### Teoria e kodimit 
Të dhënat e videos mund të paraqiten si një seri kornizash të palëvizshme, dhe ato zakonisht përmbajnë shumë tepri hapësinore dhe kohore. Algoritmet e kompresimit të videos synojnë të reduktojnë këtë tepri dhe të ruajnë informacionin në një mënyrë më kompakte.

Shumica e formateve të kompresimit të videove dhe kodekëve shfrytëzojnë tepricën hapësinore dhe kohore, si për shembull përmes kodimit të diferencës me kompensimin e lëvizjes. Ngjashmëritë midis kornizave të përkohshme mund të kodohen duke ruajtur dallimet midis kornizave të ngjitura (kodimi ndër-kornizë) ose pikselëve të afërt hapësinor (kodimi brenda kornizës). Kompresimi ndërmjet kornizave përdor të dhëna nga një ose më shumë korniza të mëparshme ose të mëvonshme në një sekuencë për të përshkruar kornizën aktuale, ndërsa kodimi brenda kornizës përdor vetëm të dhëna nga brenda kornizës aktuale, duke qenë efektivisht një kompresim i imazhit të palëvizshëm.

Formatet e kodimit të videos brenda kornizës të përdorura në kamerat dhe redaktimin e videove përdorin kompresim më të thjeshtë, i cili mbështetet vetëm në parashikimin brenda kornizës. Kjo e thjeshton softuerin e redaktimit të videos, sepse shmang mundësinë që një kornizë e ngjeshur të referohet te dhëna që redaktori ka fshirë.

Zakonisht, kompresimi i videos përdor gjithashtu teknika kompresimi me humbje si kuantizimi, që zvogëlon aspektet e të dhënave burimore që janë (më shumë ose më pak) të parëndësishme për perceptimin vizual të njeriut, duke shfrytëzuar veçoritë perceptuese të vizionit njerëzor. Për shembull, dallimet e vogla në ngjyrë janë më të vështira për t'u perceptuar se sa ndryshimet në shkëlqim. Algoritmet e kompresimit mund të mesatarizojnë ngjyrat në këto zona të ngjashme, siç bëhet në kompresimin e imazhit JPEG. Ashtu si në të gjitha kompresimet me humbje, ekziston një shkëmbim ndërmjet cilësisë së videos dhe shpejtësisë së bitit, kostos së përpunimit të kompresimit dhe dekompresimit, dhe kërkesave të sistemit. Videoja shumë e ngjeshur mund të paraqesë objekte të dukshme ose shpërqendruese.

Metoda të tjera përveç formateve mbizotëruese të transformimit të bazuara në DCT, si kompresimi fraktal, ndjekja e përputhjes dhe përdorimi i një transformimi të valëzuar diskrete (DWT), kanë qenë objekt i disa kërkimeve, por zakonisht nuk përdoren në produkte praktike. Kompresimi i valëve përdoret në koduesit e imazheve statike dhe koduesit video pa kompensim lëvizjeje. Interesi për kompresimin fraktal duket se po pakësohet, për shkak të analizave teorike të fundit që tregojnë një mungesë krahasuese të efektivitetit të metodave të tilla..

##### Kodimi ndërmjet kornizave 
Në kodimin ndërmjet kornizave, kornizat individuale të një sekuence video krahasohen nga një kornizë në tjetrën dhe kodiku i kompresimit të videos regjistron ndryshimet në kornizën e referencës. Nëse korniza përmban zona ku asgjë nuk ka lëvizur, sistemi thjesht mund të lëshojë një komandë të shkurtër që kopjon atë pjesë të kornizës së mëparshme në atë tjetër. Nëse pjesët e kornizës lëvizin në një mënyrë të thjeshtë, kompresori mund të lëshojë një komandë (pak më të gjatë) që i thotë dekompresorit të zhvendosë, rrotullojë, ndriçojë ose errësojë kopjen. Kjo komandë më e gjatë mbetet ende shumë më e shkurtër se të dhënat e krijuara nga kompresimi brenda kornizës. Zakonisht, koduesi do të transmetojë gjithashtu një sinjal të mbetur që përshkruan dallimet e mbetura më delikate në imazhet e referencës. Duke përdorur kodimin e entropisë, këto sinjale mbetje kanë një paraqitje më kompakte se sinjali i plotë. Në zonat e videos me më shumë lëvizje, kompresimi duhet të kodojë më shumë të dhëna për të vazhduar me numrin më të madh të pikselëve që po ndryshojnë. Zakonisht gjatë shpërthimeve, flakëve, tufave të kafshëve dhe në disa shkrepje të panevojshme, detajet me frekuencë të lartë çojnë në ulje të cilësisë ose në rritje të shpejtësisë së ndryshueshme të biteve.

#### Formatet e transformimit të bazuara në blloqe hibride 
parapamje|Fazat e përpunimit të një koduesi tipik video
Shumë metoda të zakonshme të kompresimit të videos (p.sh. ato në standarde të miratuara nga ITU-T ose ISO) ndajnë të njëjtën arkitekturë bazë që daton në H.261, e cila u standardizua në 1988 nga ITU-T. Këto metoda kryesisht mbështeten në DCT, të aplikuar në blloqe drejtkëndëshe të pikselëve fqinjë, dhe parashikimin e përkohshëm duke përdorur vektorët e lëvizjes. Përveç kësaj, në ditët e sotme, përdoret gjithashtu një hap filtrimi në lak.

Në fazën e parashikimit, përdoren teknika të ndryshme për dedublikimin dhe kodimin e dallimeve, të cilat ndihmojnë në lidhjen e të dhënave dhe përshkrimin e të dhënave të reja në bazë të atyre që janë transmetuar tashmë.

Pastaj blloqet drejtkëndore të të dhënave të mbetura të pikselit transformohen në domenin e frekuencës. Në fazën kryesore të përpunimit me humbje, të dhënat e domenit të frekuencës kuantizohen për të reduktuar informacionin që është i parëndësishëm për perceptimin vizual të njeriut.

Në fazën e fundit, teprica statistikore eliminohet kryesisht nga një kodues entropie, i cili shpesh përdor një formë të kodimit aritmetik.

Në një fazë shtesë të filtrimit në lak, mund të aplikohen filtra të ndryshëm në sinjalin e imazhit të rindërtuar. Këta filtra mund të ndihmojnë në kompresimin e të dhënave duke u përdorur në materialin referues përpara se të aplikohet në procesin e parashikimit dhe mund të udhëzohen nga sinjali origjinal. Një shembull i njohur është përdorimi i filtrave të zhbllokimit, të cilët ndihmojnë në mjegullimin e objekteve bllokuese që krijohen nga ndërprerjet e kuantizimit në kufijtë e bllokut të transformimit.

#### Historia 
Në vitin 1967, AH Robinson dhe C. Cherry propozuan një skemë kompresimi për transmetimin e sinjaleve televizive analoge duke përdorur kodimin me gjatësi të gjatë për të optimizuar gjerësinë e brezit. Më pas, DCT (Transformimi i Kosinusit Diskret), i cili është bazë për kompresimin modern të videos, u prezantua nga Nasir Ahmed, T. Natarajan dhe KR Rao në vitin 1974.

H.261, i cili debutoi në vitin 1988, prezantoi arkitekturën bazë mbizotëruese të teknologjisë së kompresimit të videos. Ky ishte formati i parë i kodimit të videos që bazohej në kompresimin DCT. H.261 u zhvillua nga një numër kompanish, duke përfshirë Hitachi, PictureTel dhe NTT, BT dhe Toshiba .

Standardet më të njohura të kodimit të videove të përdorura për kodekët kanë qenë standardet MPEG. MPEG-1 u zhvillua nga Grupi i Ekspertëve të Filmit (MPEG) në vitin 1991, dhe u projektua për të kompresuar video me cilësi VHS . Ai u pasua në 1994 nga MPEG-2 / H.262, i cili u zhvillua nga një numër kompanish, kryesisht Sony, Thomson dhe Mitsubishi Electric. MPEG-2 u bë formati standard i videos për televizionin dixhital DVD dhe SD. Në vitin 1999, ajo u pasua nga MPEG-4 / H.263.  Ai u zhvillua gjithashtu nga një numër kompanish, kryesisht Mitsubishi Electric, Hitachi dhe Panasonic.

H.264/MPEG-4 AVC u zhvillua në vitin 2003 nga një numër organizatash, kryesisht Panasonic, Godo Kaisha IP Bridge dhe LG Electronics. AVC prezantoi në mënyrë komerciale algoritmet moderne të kodimit aritmetik binar përshtatës me kontekstin (CABAC) dhe kodimin me gjatësi të ndryshueshme me përshtatje kontekstuale (CAVLC). AVC është standardi kryesor i kodimit të videove për disqet Blu-ray, dhe përdoret gjerësisht nga faqet e internetit të shkëmbimit të videove dhe shërbimet e internetit të transmetimit si YouTube, Netflix, Vimeo dhe iTunes Store, softuer në internet si Adobe Flash Player dhe Microsoft Silverlight, dhe të ndryshme HDTV transmeton mbi televizionin tokësor dhe satelitor.

### Gjenetika 
Algoritmet e kompresimit gjenetik janë një kategori e re e algoritmeve pa humbje që përdorin kombinime të algoritmeve tradicionale të kompresimit dhe teknika gjenetike të përshtatura për llojin specifik të të dhënave, siç janë sekuencat e nukleotideve. Në vitin 2012, një ekip shkencëtarësh nga Universiteti Johns Hopkins publikoi një algoritëm kompresimi gjenetik, HAPZIPPER, i cili nuk përdor një gjenom referimi për kompresim. HAPZIPPER është i përshtatur për të dhënat e HapMap dhe arrin kompresim mbi 20-fish, duke siguruar një reduktim prej 95% të madhësisë së skedarit, duke ofruar një ngjeshje më të mirë 2 deri në 4 herë dhe duke qenë më pak intensiv në aspektin llogaritës se shërbimet kryesore të kompresimit për qëllime të përgjithshme. Chanda, Elhaik dhe Bader prezantuan gjithashtu kodimin bazuar në MAF (MAFE), që redukton heterogjenitetin e të dhënave duke renditur SNP-të sipas frekuencës së aleleve të tyre të vogla, duke homogjenizuar grupin e të dhënave. Algoritme të tjera të zhvilluara në 2009 dhe 2013, si DNAZip dhe GenomeZip, kanë raporte kompresimi deri në 1200-fish, duke mundësuar ruajtjen e 6 miliardë çifteve të bazave të gjenomës njerëzore në 2.5 megabajt, duke krahasuar me një gjenom referencë ose me shumë gjenome të mesatarizuar.

## Perspektiva dhe potenciali i papërdorur aktualisht 
Sasia totale e të dhënave të ruajtura në pajisjet e ruajtjes në botë ka potencialin të kompresohet më tej me algoritmet ekzistuese të kompresimit me një faktor mesatar prej 4.5:1. Në vitin 2007, kapaciteti i kombinuar i harduerëve të ruajtjes në botë ishte 1300 ekzabajt, por kur kjo përmbajtje kompresohej në mënyrë optimale, ajo përfaqësonte vetëm 295 ekzabajt të informacionit Shannon, që është një matje e informacionit të mundshëm të dendur në një sistem.

## Shiko edhe 
* Teoria e informacionit
* Ngjeshja e imazhit
* Ngjeshja e videos
* Çngjeshja e të dhënave

## Referime