Adam7 algoritm

Allikas: Vikipeedia

Adam7 algoritm (PNG interlacing) on digitaalse pilditöötluse algoritm, mida kasutatakse PNG piltide astmeliseks dekodeerimiseks. Algoritm tükeldab pildi 7 alampildiks vastavalt all toodud 8x8 pikslist korduvale mustrile. [1]

16x16 pildi läbimine Adam7 algoritmiga

Adam7 algoritm suurendab küll faili mahtu, aga tänu astmelisele dekodeerimisele muutub pilt kiiremini arusaadavaks kui tavalise jadamisi lahti pakkimise puhul. Andmete lahtipakkimise käigus muutub pilt hägusest järjest detailsemaks.

Tänapäeva andmeedastuse kiiruste puhul ei ole pikslite jadamisi laadimine enam nii aeganõudev. Varasemate kiiruste puhul võimaldas Adam7 pilte mõistlikuma kiirusega kuvada ja pildi vaatajale jäi võimalus valida kui detailset pilti ta soovis alla laadida.

Kasutus[muuda | muuda lähteteksti]

Adam7 algoritmi kasutatakse enamasti veebibrauseris rastergraafika kuvamiseks. Algoritm võimaldab andmete kadudeta pakkimist koos kiire piltide kuvamisega. Adam7 laseb pilte kuvada ilma neid tervenisti alla laadimata. See tähendab kiirelt madala kvaliteediga pildi kuvamist, seni kui osasid piksleid veel alla laaditakse. Mida rohkem piksleid on alla laaditud, seda teravamaks pilt muutub.

Algoritm töötab kahemõõtmeliselt, pakkides pilti nii vertikaalselt kui ka horisontaalselt. See tagab pildi mõõtmete säilimise, kuna pilti venitatakse maksimaalselt kahekordse faktoriga. Ühemõõtmelised algoritmid moonutavad pilti palju rohkem, nt GIF-i algoritm venitab esimesel pakkimisel pilti 8-kordselt edastades iga 8. horisontaalse rea. [2]

Algoritmi tööpõhimõte[muuda | muuda lähteteksti]

Pildil olevad pikslid jaotatakse 8x8-pikslise mustri järgi alampiltideks 1-7. Jaotamist alustades vasakust ülemisest nurgast ning mustrit korratakse pildi äärteni.

Saadud alampildid tükeldatakse ridade kaupa.

Pilt saadetakse alampiltide kaupa saajale, kus seda järjest lahti pakitakse.

Pildi lahtipakkimisel pikslid interpoleeritakse ehk ennustatakse pikslite vahel puudu olevaid piksleid.

Kõik puuduvad pikslid arvutatakse (n-ö ennustatakse) ja pilt muutub sedamööda järjest selgemaks, mida rohkem piksleid on korrigeeritud (laaditud).

Vaata ka[muuda | muuda lähteteksti]

Viited[muuda | muuda lähteteksti]

  1. Lavavej, Stephan T. "Introduction to PNG - nuwen.net". nuwan.net. Vaadatud 27. märts 2023.
  2. Boutell, Thomas. "Portable Network Graphics (PNG) Specification (Second Edition)". w3.org. Vaadatud 27. märts 2023.