Bildkomprimering med JPEG, Fraktaler och Krusningar èwaveletsè Projektarbete i Bildanalys av Jacob Str m, D-91 Handledare: Sven Spanne maj 1994 1
1 Inledning F rgrika datorbilder av h g uppl sning tar stor plats att lagra. Allt eftersom v ra sk rmar blir b ttre och b ttre klarar de av att visa h gre uppl sning och çer f rger och datam ngderna f r bilderna bara kar. D rf r r det viktigt med eçektiva algoritmer f r bildkomprimering. Eftersom det r m nniskor som skall titta p bilderna beh ver inte de inte terskapas helt exakt och detta ppnar m jligheter f r att komprimera mycket mer eçektivt ès kallade lossy crunchersè. I mitt projektarbete har jag studerat tre s tt att komprimera bilder p : En bepr vad variant èjpegè och tv lite mer udda, fraktalkomprimering och komprimering med hj lp av krusningar èwaveletsè. Alla anv nder sig av lossy crunching, dvs en del av information fr n ursprungsbilden sl ngs bort. 2 Hur fungerar det? 2.1 JPEG JPEG st r f r çjoint Photographic Experts Groupç, och kommer fr n den kommit som skrev standarden. JPEG delar in bilden i rutor om 8 æ 8 = 64 pixels. Dessa underg r en diskret cosinus transform, som r en speglad variant av den diskreta fouriertransformen. De koeçcienter man nu f r ut kan exakt terskapa de 64 pixlarna. Nu spar man emellertid bara de stora koeçcienterna helt; de sm sl ngs bort eller kodas med s mre noggrannhet. 2.2 Fraktalkomprimering Fraktal komprimering r den andra metoden. Grovt f renklat kan man s ga att den utnyttjar att det i en bild ofta çnns sj lvliknande omr den: En del av bilden liknar en helt annan del av bilden, fast r lite mindre och kanske speglad. D kan man terskapa den mindre delen genom att spegla och f rminska den stora. Nu visar det sig att den enda information man beh ver spara r sj lva transformeringarna, dvs hur man skall f rminska och spegla. Kodar man dessa eçektivt, kan man f en bra packning. 2.3 Komprimering med Krusningar Krusningar, eller Wavelets som det heter p engelska, r ett relativt nytt forskningsomr de som blivit v ldigt popul rt den senaste tiden. V ldigt f renklat kan man s ga att medan fouriertransformen èjpegè arbetar helt i frekvensplanet, lever krusningarna lite grann i b de frekvens och tidsplanet. Man hittar ett ortogonalt system av krusningar, delar upp bilden med hj lp av dem och sl nger èeller kodar d ligtè de koeçcienter som r sm. 3 Tillv gag ngss tt F r att j mf ra de olika metoderna utgick jag fr n bilden Lena 1 och packade ner denna olika h rt och çck d rmed skiftande kvalitet. Sedan bed mde jag dessa dels subjektivt èçokul r besiktningçè samt m tte jag minstakvadratfelet f r att f ett n got mer objektivt m tt. 1 Bilden r 256 æ 256 i 256 gr skalor och v ldigt anv nd inom bildanalys 2
H r f ljer f rst originalbilden Lena samtdekomprimerade versionerna f r JPEG, fraktaler och krusningar. Reproduktionen till ter inte n gon noggrannare s rsk dning av bilderna men jag hoppas nd att man kan se skillnaderna mellan de olika formaten. Figur 1: JPEG, 5.7 ggr Figur 2: JPG, 49.6 ggr Figur 3: Original, 1 ggr Figur 4: Fraktal, 5.9 ggr Figur 5: Fraktal, 49.6 ggr Figur 6: Fraktal, 93.2 ggr Figur 7: Wave, 5.5 ggr Figur 8: Wave, 49.4 ggr Figur 9: Wave, 93.5 ggr H r kan man se att skillnaderna r sm f r m ttliga kompressionsfaktorer è5-6è medan de det vid 50 g ngers kompression r stor skillnad. H r r krusnings-metoden m rkbart b ttre n de tv andra. Till slut har vi c:a 100 g ngers packning. H r 3
vinner fraktalkomprimeringen - andra sidan çnns det inte s mycket bild kvar att tala om. Till den subjektiva bed mningen m ste l ggas att krusningskomprimerade bilder har en egenskap att bevara ytor med j mna verg ngar b ttre, n got som kar realismen i bilden. JPEG tenderar ist llet att, med kande kompressionsgrad, ta bort allt çer gr skalor i bilden tills den blir çkornigç och till slut alltf r kontrastrik. B de JPEG- och fraktalkomprimerade bilder har dessutom nackdelen att ett 8 æ 8 m nster blir synbart vid kad kompressionsgrad. 3.1 Minsta kvadratfel F r att f ett lite mer objektivt m tt p bildkvalit n m tte jag upp minsta kvadratfelet f r de tre metoderna med varierande packningst thet. Jag plottade,logèkvadratf eletè som funktion av packningst theten è orig:storlek è. Resultatet kan man se i çgur 10. storlek H r ser man att Wavelet och JPEG r j mf rbara i b rjan av kurvan, dvs vid l g packningst thet. N gonstans mellan 20 och 30 g ngers packning b rjar JPEG sacka och mister stort i kvalitet vid kande packningst thet - kurvan sluttar brant. H gre packning n 50 g nger gick inte alls att uppn med den JPEG packare jag anv nde 2. Fraktal-kurvan b rjar v ldigt d ligt men kommer igen p slutet, vid runt 70 g ngers packning b rjar det l na sig att fraktalkomprimera. Om man s rsk dar kurvorna kan man se att JPEG r b st fr n faktor 1.0 till 2.5, sedan tar krusningarna ver fram till 10. terigen r JPEG b st fram till ca 17, sedan krusningar fram till 70. Nu skall man inte vertolka grafen, den r gjort p ett mindre antal komprimeringar, - ca 15 - och dessutom bara p samma bild hela tiden. 3.2 Informationshantering Man kan ven se p de tre metoderna ur informationsh nseende. JPEG r h r klart s mst eftersom varje 8 æ 8-ruta behandlas f r sig. Inget ç de av information ver gr nserna, allts. Fraktal-komprimeringen r lite sv rare att tolka, visserligen tas bara information fr n en 16 æ 16-cell och skalas ner till en 8 æ 8, men andra sidan g s hela bilden igenom vid nerkodningen f r att hitta den b sta av alla m jliga 16 æ 16 celler, s h r utnyttjas hela bilden lite b ttre. Krusningarna kan s gas vara ett optimalt s tt att hantera informationen i bilden. 3.3 Tidsaspekten F r de çesta till mpningar r inte bara packningst theter intressanta, utan ven hur snabbt det g r att packa och packa upp sina bilder. Skall metoderna anv ndas f r tex bildtelefoni g r det inte att ha en latent tid p 3 minuter innan mottagaren f r den i andra nden. Jag har inte gjort n gra noggrannare studier h r, utan har n jt mig med att konstatera att fraktalkomprimering r i s rklass s mst. Det tar i storleksordningen minut att komprimera Lena och tskilliga sekunder att packa upp. Krusnings- och JPEG- metoderna r ungerf r lika snabba, b de vid komprimering och uppackning. Detta r anm rkningsv rt eftersom JPEG funnits en l ngre tid och rutinerna som h r anv nds borde vara starkt optimerade. 3.4 Sammanfattning Krusningar har kommit f r att stanna. Eftersom skillnaderna mot JPEG inte r s v ldsamma inom det mest h gkvalitativa omr det è1-20 ggr packningè kommer nog JPEG att f rbli standard inom de çesta omr dena. D r man d remot kan 2 Jag anv nde mig av xv:s save-funktion. 4
-8 Minsta kvadratfelet som funktion av packningst theten -10-12 -log(kvadratfel) -14-16 -18-20 0 10 20 30 40 50 60 70 80 90 100 Packning (ggr) Figur 10: Hur minsta kvadratfelet varierar med packningst theten. JPEG r heldragen linje, krusningarna r prickade och fraktalkurvan r streckad tumma lite p bildkvalit n vinner man p att byta teknik, ett exempel r bildtelefoni. Att anv nda krusningar f r att komprimera animationer r ocks lockande, eftersom informationen mellan bilderna kanske kan utnyttjas b ttre n i JPEGs motsvarighet MPEG. MPEG l r n mligen utnyttja informationen mellan bilderna r tt d ligt. G r man ner en dimension ist llet, kan man s kert ha anv ndning f r krusningskompression i tal verf ring. Detta hamnar dock utanf r mnet bildanalys. 5