350 likes | 774 Views
Formatet e skedareve grafike dhe teknikat e kompresimit. Leksion 6. Formatet e skedareve te imazheve. Kur ruhet nje imazh ne nje arkive ose duhet te publikohet ne web, eshte e rendesishme te percaktohet formati i imazhit:. Numri Magjik bytes. Te dhenat e imazhit. koka.
E N D
Formatet e skedareve grafike dhe teknikat e kompresimit Leksion 6
Formatet e skedareve te imazheve Kur ruhet nje imazh ne nje arkive ose duhet te publikohet ne web, eshte e rendesishme te percaktohet formati i imazhit: Numri Magjik bytes Te dhenat e imazhit koka Formatet e imazheve percaktojne nje lloj informacioni dhe perbehen nga nje segment koke dhe segment te dhenash. Koka fillon me nje “numer magjik” – nje sekuence e shkurter baitesh e dizenjuar per te identifikuar skedarin si nje imazh me ate format specifik. Koka do te permbaje gjithashtu gjeresine dhe gjatesine e imazhit.
Formatet specifike per pajisjet (Device-specialized formats). Struktura e skedarit te imazhit mund te perzgjidhet per te lehtesuar paraqitjen e shpejte ne nje tip te vecante workstation-i. Dizavantazhi i formateve te specializuar per pajisjet perfshin mungesen e transportueshmerise (portabilitetit), dhe jane te papershtatshem kur perdoren ne hardware te tjera. Shembull: ICC – perdoren per printera Kodak Formatet specifike per softwaret (Software-specialized formats) Jane ato formate te dizenjuar nga nje shites softwaresh, per t’u perdorur me nje program specifik ose klase programesh specifike. Shembuj: formatet PCX dhe Windows bitmap (BMP) qe gjenden kryesisht ne PC, ose formati MacPaint i perdorur ne kompjutera Apple Macintosh. Formate te shkembyeshme (Interchangable formats): GIF, PNG, JPEG Kategorite e formateve te skedareve te imazheve
Formate grafike per World Wide Web • Ka disa lloje skedaresh grafike: • Skedare Matricore (te quajtur edhe skedare bitmapped) permbajne informacion grafik te paraqitur si piksel sic jane imazhet fotografike. Keto perfshijne GIF, PNG, dhe JPEG. • Formatet Animacion jane zakonisht sekuenca te dhenash matricore. • Skedare Vektor permbajne te dhena per veprimet matematike dhe zakonisht perdoren per te ruajtur artin e linjave dhe informacione CAD. • Gjuhet e Pershkrimit te Faqes - Page Description Languages (PDL) perdoren per te pershkruar layout-in e nje faqeje te printuar, qe permbane grafike dhe tekst, si psh Adobe PDF. • Formatet e objekteve shume-dimensionale i ruajne te dhenat grafike si nje koleksion objektesh (te dhenat dhe kodin qe i perpunon ato) • Gjuha e Modelimit te Realitetit Virtual - Virtual Reality Modeling Language (VRML) eshte nje gjuhe object-oriented, 3D qe perdoret per te pershkruar “boten virtuale” qe lidhet me hyperlink brenda World Wide Web-it. • Formatet e skedareve Multimedia jane te afte te ruajne cdo tip te dhenash nga tipet e mesiperme, shpesh duke perfshire edhe informacion audio dhe/ose video.
Shembuj formatesh te shkembyeshme: - GIF - Graphics Interchange Format - PNG - Portable Network Graphics - JFIF - JPEG (Joint Photographic Experts Group) File Interchange Format - TIFF - Tagged Image File Format - PGM - Portable Gray Map -PBM - Portable Bit Map -PPM - Portable Pix Map - FITS - Flexible Image Transport System
Pse ka shume formate skedaresh? Ekziston nje numer i madh formatesh te skedareve grafike. • Nje arsye per kete bollek tipesh te skedareve eshte nevoja per kompresim. • Skedaret e imazheve mund te jene te medhenj → kerkohet me shume hapesire ne disk → download-im me i ngadalte • Kompresimi (ngjeshja) eshte nje term qe perdoret per te pershkruar menyrat e zvogelimit te madhesise se skedarit. Skemat e kompresimit mund te jene “me humbje” ose “pa humbje” (lossy or lossless)
Pse ka shume formate skedaresh? • Nje tjeter arsye eshte fakti qe imazhet ndryshojne ne numrin e ngjyrave qe ata permbajne. Nese nje imazh ka pak ngjyra, nje format skedari mund ta shfrytezoje kete, si nje menyre per reduktuar madhesine e skedarit.
Kompresimi me humbje vs. pa humbje • Nje algoritem “pa humbje” nuk tret (humbet) asnje informacion. Ai kerkon per menyra me efikase te paraqitjes se imazhit, duke mos prishur saktesine e imazhit. • Ne dallim nga algoritmet pa humbje, algoritmet “me humbje” pranojne ndonje degradim ne imazh, ne menyre qe te arrihet madhesia me e vogel e skedarit te imazhit. Keto algoritme mund te ruajne informacionin e ngjyrave, ne nje rezolucion me te ulet sesa vete imazhi, meqe syri nuk eshte aq i ndjeshem ndaj ndryshimeve ne ngjyra ne nje distance te vogel.
Metodat e kompresimit pa humbje Imazhi fillestar mund te rekuperohet ne forme absoutisht identike ne çdo kohe, pas kompresimit çdo piksel ka saktesisht vlerat qe ka patur perpara kompresimit. Formatet qe jane ne pronesi te programeve te editimit te imazheve, si psh formati *.PSD ne Adobe Photoshop – zakonisht jane te pajisur me algoritme kompresimi pa humbje.
Numri i ngjyrave Imazhet me te thjeshta mund te permbajne vetem dy ngjyra, si psh: te bardhe e te zeze, dhe do te nevojitet vetem 1 bit per te paraqitur secilin pixel. Disa karta video per PC te hershme, suportonin vetem 16 ngjyra te caktuara. Karta video te mevonshme suportonin 256 ngjyra njekohesisht, ku secila prej tyre mund te zgjidhej nga nje bashkesi prej 224 ose 26 milion ngjyrash. Karta te reja caktojne 24 bite per çdo pixel, prandaj mund te shfaqin 224 ose 16 milion ngjyra, pa kufizime. Meqe syri nuk i dallon ndryshimet ndermjet ngjyrave te ngjashme, ngjyrat 24 bit ose 16 milion shpesh quhet TrueColor.
BMP • BMP (Bit Mapped Picture) eshte nje standart i formateve te imazheve te Microsoft Windows. • BMP suporton 1, 4, 8 dhe 24 bit per pixel. • Keto skedare zakonisht krijohen duke perdorur programet Microsoft Paint ose Paintbrush dhe mund te perdoren ne Windows si wallpaper. • Browserat standarte nuk suportojne kete tip skedari pa thirrur nje program si Microsoft Paint. • Formati BMP perdor vetem nje forme te thjeshte te nje teknike kompresimi pa humbje. • Skedaret BMP zakonisht ruhen te pakompresuar, njihen vetem ne platforme Windows.
BMP • Nga ana konceptuale imazhet Bitmap jane me te thjeshta se vektorialet. • Ne imazhet Bitmap ne çdo pike ruhet kodi perkates i ngjyres. • Imazhet vektoriale ruajne modelin matematik te imazhit dhe jo pika. (“Nuk ka asnje arsye qe te perdoret ky format ndonjehere.”)
GIF (Graphic Interchange Format) • Lindja dhe zhvillimi i internetit ndikon ne standartizimin e disa formateve te skedareve per imazhe. • Formati i pare qe sherbeu si standart per shkembimin e skedareve te imazheve ne internet ishte GIF. • GIF u ndertua nga nje kompani kompjuterash si nje format per shkembimin e imazheve Bitmap midis platformave te ndryshme.
GIF (Graphic Interchange Format) • Skedaret GIF perdorin nje teknike kompresimi pa humbje sepse cilesia e imazhit nuk ndryshon permes shume shnderrimeve te formateve GIF, gjithashtu jane te kufizuara ne perdorimin e 256 ngjyrave. • Pra nese imazhi ka me pak se 256 ngjyra, GIF jep imazhin te sakte. Ndersa kur imazhi permban me shume ngjyra, GIF perdor nje nder algoritmet per perafrimin e ngjyres ne imazh, me nje ngjyre nga 256 ngjyrat qe ka ne dispozicion. Nganjehere GIF perdor ngjyren me te afert per te paraqitur secilin pixel dhe nganjehere ai perdor “shperndarje gabimi” per te rregulluar ngjyren e pixelave fqinje ne menyre qe te korrigjohet gabimi ne secilin pixel.
GIF (Graphic Interchange Format) • Kompresimi pa humbje llogaritet per te gjithe bitet e te dhenave ne imazh, kur imazhi kompresohet. Ky rezulton ne nje skedar me te madh, por cilesia e imazhit nuk degradon kur kompresohet dhe dekompresohet disa here. • Ky tip kompresimi pershtatet sidomos per hapesira te medha me ngjyre te njejte. • Nje nga vetite me te perdorshme te ketij formati eshte fakti qe nje ngjyre mund te caktohet si nje transparence. • Kjo veti lejon krijimin e imazheve ne te cilin sfondi eshte i padukshem, keshtu imazhi duket sikur eshte i ‘pikturuar’ direkt ne faqen Web.
GIF (Graphic Interchange Format) • GIF i animuar perdoret per te krijuar animacione te thjeshta ku seri te imazheve GIF jane te vendosura njera pas tjetres dhe ndryshohen shpesh. • GIF eshte i pershtatshem per imazhe te thjeshte dhe jo per imazhe komplekse si fotografite e skanuara (per keto imazhe perdoret formati jpg).
JPEG (Joint Photographers Experts Group) • Eshte nje zgjidhje me e mire per cilesi ngjyre sesa GIF sepse suporton ngjyra si 8-bit ose 24-bit. • Nje skedar JPEG eshte gjithashtu me i vogel sesa nje skedar GIF per te njejtin imazh sepse JPEG perdor nje kompresim me te larte. • Megjithate duhet te jemi te kujdesshem kur ruajme disa here nje skedar JPEG per arsye te perdorimit te kompresimit me humbje per ruajtje te imazhit. • Cdo here qe nje imazh kompresohet ne formatin JPEG disa pixel-a perjashtohen. • Heret e para kur kjo ndodh, nuk ndikon realisht ne imazh per arsye se syri i njeriut nuk dallon kaq humbje te pakta te imazhit. • Por kur imazhi kompresohet shpesh ne formatin JPEG cilesia e imazhit sa vjen dhe zvogelohet.
JPEG • Te gjithe browserat grafike suportojne formatin JPEG dhe keta skedare njihen me prapashtesen .jpeg ose .jpg. • Kur ruajme nje imazh JPEG shume editore imazhesh ofrojne ta ruajne ne nje format ‘progresiv’. Nje skedar imazhi progresiv ruhet me shtresa (layers). Kemi mundesi zgjedhjeje nga 3 ne 7 shtresa. • Browserat grafike ngarkojne dhe shfaqin imazhin JPEG nje shtrese ne nje kohe, qe ka efektin vizual te ndertimit te imazhit. • Fatkeqesisht nje skedar imazhi progresiv eshte me i ngadalte per t’u ngarkuar.
PNG • Nje tjeter format i ri qe po perdoret gjeresisht ne Web dhe po zevendeson pak nga pak formatin GIF eshte PNG (Portable Network Graphics). • Suporton 8-bit dhe 24-bit ngjyre. • Kufizimi tek GIF eshte algoritmi i kompresimit qe ai perdor sepse ky i fundit zoterohet me nje pakete nga kompania CNISYS qe kerkon nje liçense ne pagese per programin qe perdor kompresimin dhe dekompresimin GIF. • PNG perdor nje tjeter teknike kompresimi pa humbje qe nuk kerkon liçence, prandaj mund te perdoret lirisht. • Gjithashtu PNG nuk kufizohet me 256 ngjyra dhe ofron nje forme me te sofistikuar transparence. • PNG eshte formati i rekomanduar nga W3C dhe interpretohet sot nga shume browsera.
Shembuj GIF Format Stage.gif File size– 13k JPEG Format Stage.jpg File size– 28k PNG Format Stage.png File size–164k
TIFF TIFF (Tagged Image File Format) perdoret zakonisht per te shkembyer dokumenta ndermjet platformave te ndryshme kompjuterike. TIFF suporton 1, 4, 8 dhe 24 bite per pixel. Formati TIFF perdor nje metode kompresimi pa humbje, te njohur si metoda Lemple-Zif-Welch (LZW). Megjithate, ky version, te cilin programe te mira te editimit te imazheve e ofrojne si nje opsion kur ruhet nje imazh, vetem eshte i afte te reduktoje ne menyre te dukshme madhesine e imazheve qe permbajne proporcione relativisht te medha zonash nje-ngjyreshe. Ne kete foto, ai redukton madhesine e skedarit me 3%. Picmaster eshte nje shembull i nje programi shareware qe ofron kompresim LZW per formatin TIFF.
Cilin format duhet te perdorim? • TIFF eshte outputi me cilesine me te mire nga nje kamera dixhitale. Pra TIFF ka cilesi me te mire se JPG, por skedaret TIFF jane shume te medhenj. • Nuk duhet te perdoret ne faqe web, per arsye te madhesise se skedarit, por edhe se shume browsera nuk e suportojne kete format. • TIFF eshte nje format i mire per perpunim imazhesh.
Cilin format duhet te perdorim? • JPG eshte formati me i perdorur per web. • Pasi perpunohet imazhi, atehere mund te ruhet si skedar .jpg • Nuk duhet perdorur per artin e linjave, (pra kur nevojiten imazhe me vija te drejta apo kende te theksuara). Per kete mund te perdorni GIF ose PNG • Nese imazhi permban me pak se 256 ngjyra dhe ka shume zona me te njejten ngjyre, atehere GIF eshte formati i pershtatshem.
Cilin format duhet te perdorim? • PNG eshte i pershtatshem ne keto raste: 1. Nese keni imazhe me zona te medha me te njejten ngjyre, por qe permbajne me shume se 256 ngjyra. Pra strategjia eshte e njejte me GIF por PNG suporton 16 milion ngjyra. 2. Nese doni qe nje foto te afishohet saktesisht ne web, pra pa humbje. Browserat e rinj suportojne PNG, dhe PNG eshte formati i vetem pa humbje qe suportojne web browserat. • PNG eshte superior ndaj GIF-it. Ai prodhon skedare me te vegjel dhe lejon me shume ngjyra. • PNG gjithashtu suporton transparence te pjesshme, e cila mund te perdoret per shume qellime, si psh per zbehje te ngjyres se tekstit ose antialiasing.
Kompresimi i imazheve - RLE • Nje katror 128 me 128 pika i ruajtur si nje imazh Bitmap me 256 ngjyra te ndryshme kerkon 16 kb. • Eshte e mundur qe imazhi te ruhet ne nje forme me kompakte. Psh ne vend qe te ruajme ngjyren e çdo pike mund te ruajme nje ngjyre dhe me pas nje numerues per numrin e pikave te njepasnjeshme qe kane kete ngjyre. • Psh rreshti i pare i tabeles se pikave perbehet nga 128 pika te gjitha me te njejten ngjyre. Pra per te ruajtur kete rresht ne vend qe te perdorim 128 byte mund te perdorim vetem 2 byte. Ne byte-in e pare ruajme ngjyren dhe ne byte-in e dyte ruajme numrin 128 (numri i pikave qe kane te njejten ngjyre). Avantazhi eshte i dukshem.
RLE • Kjo teknike kompresimi quhet RLE (Run Length Encoding). • Efektiviteti i RLE-se varet nga natyra e imazhit. • Ne shembullin tone RLE eshte shume efektive, por ne ndonje imazh tjeter ku pak pika te njepasnjeshme kane te njejten ngjyre RLE eshte plotesisht inefiçente. • Ne disa raste mund te ndodh qe nje imazh i kompresuar te kerkoje me shume hapesire ne disk sesa imazhi burim. Ne rastin me ekstrem ku çdo pike e imazhit ka ngjyre te ndryshme teknika RLE e dyfishon madhesine e imazhit ne vend qe ta zvogeloje ate.
RLE • RLE eshte nje teknike kompresimi pa humbje. • Ne fakt RLE eshte teknika me e thjeshte e ketij lloji. Ekzistojne te tjere algoritme kompresimi shume me sofistikuara dhe efiçiente. • Nje pjese e tyre punojne duke koduar serish te dhenat ne menyre qe vlerave qe hasen me shpesh t’u caktohet nje kod me me pak bite. Algoritmi me i njohur i kesaj klase eshte kodimi Huffman. • Qe nga viti 1970 ky lloj kodimi me gjatesi variabel te kodit ia ka lene vendin skemave te kompresimit te bazuara ne fjalor.
Kompresimi me fjalor • Skemat e kompresimit te bazuara ne fjalor funksionojne duke ndertuar nje tabele ose nje fjalor ku futen stringje bytesh qe gjenden ne te dhenat hyrese. • Sa here qe ne te dhenat hyrese gjendet nje vlere e fjalorit (fjale) ne vend te saj vendoset nje shenjues tek vendndodhja e kesaj fjale ne fjalor. • Ne ndryshim nga algoritmet e kompresimit me kod variabel teknikat e kompresimit te bazuara ne fjalor me gjatesi fikse, por keto kode jane shenjues tek fjalet e fjalorit qe kane gjatesi variabel.
Kompresimi me fjalor • Efektiviteti i ketyre menyrave te kompresimit varet nga zgjedhja e fjaleve qe do futen ne fjalor. Ne rastin ideal fjalet e fjalorit do te jene stringje te gjate qe hasen shpesh, megjithate kjo eshte karakteristike e te dhenave. • Aftesia e algoritmit qendron ne gjetjen e ketyre fjaleve te gjata qe hasen shpesh, sigurisht nqs ato ekzistojne. • Teknikat e kompresimit pa humbje mund te perdoren per çdo lloj te dhenash.
Teknikat e kompresimit me humbje • Teknika me e rendesishme e kesaj kategorie eshte JPEG. • Vlerat e ndriçimit dhe te ngjyrave te nje imazhi mund te shperbehen ne frekuencat e sinjalit te imazhit. Kjo lidhet me hardware-in. • Cdo forme vale mund te transformohet ne nje bashkesi frekuencash duke perdorur transformimin Furie. • Nga eksperimente te ndryshme ka rezultuar se njerezit nuk dallojne mire efektin e frekuencave te larta ne menyre te veçante ne imazhet me ngjyra. • Kompresimi JPG e transformon imazhin ne frekuencat perberese te tij. Kjo nuk behet nepermjet transformimit Furie, por nepermjet transformimit DCT.
Kompresimi JPEG JPEG e ndan imazhin ne blloqe 8 me 8 pixel, dhe me pas llogarit transformimin discrete cosine transform (DCT) te secilit bllok. Nje kuantizues (quantizer) rrumbullakos koeficientet DCT sipas matrices se kuantizimit. Ky hap prodhon natyren “me humbje" te JPEG, por lejon shkalle te larte kompresimi. Teknika e kompresimitJPEG perdor nje kod me gjatesi variable te ketyre koeficienteve, dhe me pas i shkruan rrjedhen e te dhenave te kompresuara ne nje skedar output (*.jpg). Per dekompresim, JPEG rikuperon koeficientet DCT nga te dhenat e kompresuara, merr transformimin invers dhe paraqet imazhin.
Kompresimi JPEG • DCT nderton tabele koeficientesh qe perfaqeson frekuencen si te dhena hyrese. • Ky transformim nuk e zvogelon madhesine e imazhit, por tashme mund te hiqen disa informacione qe kane te bejme me frekuenca te larta. Kjo behet duke percaktuar me pak vlera te ndryshme per frekuenca te larta. • Psh nqs vlerat per v levizin nga 0-255 koeficiente e v me te vogla mund te kene çfaredo vlere te plote midis 0-255. • Vlerat per v pak me te larta lejohet te kene vetem vlera qe plotepjesetohen me 4. • Pra ulet numri i v te larta te mundshme duke i veçuar ato ne nivele te caktuara numrash duke u lene me pak numra v me te larta.
Eshte e mundur te percaktohet niveli i ndarjes, duke percaktuar ne kete menyre edhe nivelin e kompresimit. • Ky proces ndan dhe redukton madhesine e imazhit ne dy menyra: • Se pari shume koeficient do te beheshin 0 pasi keto jane koeficientet qe i perkasin v te larta. • Se dyti duhet me pak vend per te ruajtur koeficientet e ndryshem nga 0 sepse kemi shume vlera qe perseriten.
Duke shfrytezuar keto karakteristika te reja te te dhenave kompresohet imazhi nepermjet dy teknikave te kompresimit pa humbje. • Se pari aplikohet kodimi Huffman qe redukton vlerat 0 ne matricen e koeficienteve. • Se dyti aplikohet RLE qe pritet te jete i efektshem sepse ka perseritje te vlerave.