SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta Računalna forenzika BETTER PORTABLE GRAPHICS FORMAT Matej Crnac Zagreb, siječanj 2018
Sadržaj Uvod 2 BPG format 3 2.1 Osnovno o BPG formatu 3 2.2 High Efficiency Video Coding 3 2.3 Main Still Picture 5 2.4 Specifikacije BPG formata 6 Zaključak 7 Literatura 8 1
1.Uvod U današnje vrijeme kada svi imaju mobitele s kamerama slike su postale jedan od najčešćih medija koje se koriste. Također, svatko želi na svom mobitelu ili računalu vidjeti slike. Zbog toga su se razvili formati datoteka koji kodiraju slike tako da se mogu spremiti u digitalnom obliku. Do danas se razvilo mnogo formata datoteka koje služe za kodiranje slika. Postoje dvije osnovne podjele tih formata: kompresija bez gubitka i kompresija s gubitkom. Kompresijom bez gubitka zadržava se originalna kvaliteta slike i ona je savršena kopija originalne slike. Zbog toga je i veličina datoteke veća u odnosu na one nastale kompresijom s gubitkom. Takvom kompresijom nastaju manje datoteke i slike su gotovo savršene kopije, ali ipak se gubi dio informacije. Neki od najpoznatijih primjera formata su: PNG, JPEG, TIFF. U ovom radu obradit će se BPG format datoteke koji spada u tip kompresije s gubitkom. 2
2.BPG format 2.1 Osnovno o BPG formatu BPG (en. Better Portable graphics) format je format datoteke koji služi za kodiranje slika. Njegov cilj je zamijeniti JPEG format koji je danas jedan od najpoznatijih formata datoteke za kodiranje slike. U odnosu na JPEG, BPG je kompresijski efikasniji što se očitava u kvaliteti slike ili veličini datoteke. Izumio ga je Fabrice Bellard 2014. Godine. Temelji se na HEVC (en. High Efficiency Video Coding ) kompresijskom standardu videa. Kao što se može vidjeti iz imena, namijenjen je prenosivosti te time dobar izvor za mobilne ili IoT uređaje. Trenutno ne postoji ugrađena podrška u web preglednike, ali web stranice mogu prikazati slike BPG formata tako da uključe JavaScript biblioteku koju je napisao Bellard. 2.2 High Efficiency Video Coding Ne može se govoriti o BPG formatu, a da se ne spomene HEVC (en. High Efficiency Video Coding). U svojoj suštini BPG je zapravo omotač oko HEVC-ovog glavnog 4:4:4 16 Still profila koji ide do 14 bita po uzorku. HEVC je poznat i kao H.265. Kao što se može zaključiti iz imena HEVC je standard za kompresiju videa. U usporedbi s puno poznatijim AVC standardom, HEVC nudi duplo bolji omjer kompresije za istu kvalitetu videa. 3
U više načina HEVC se može smatrati kao nastavak koncepata u H.264/MPEG-4 AVC. Oba rade tako da uspoređuju različite dijelove okvira kako bi pronašli dijelovi koji su suvišni, te ih onda zamijenili opisom umjesto originalnih piksela. Glavna razlika HEVC-a u odnosu na njih je proširenje područja pretrage okvira s 16x16 na 64x64. Osim tog dodana su i iduća poboljšanja: bolja segmentacija na razini bloka, bolja unutarnja predikcija unutar iste slike, bolja predikcija vektora pokreta te spajanje regija pokreta. U tablici 1. Može se vidjeti usporedba rada HEVC-a u odnosu na H.264 i MPEG-4 AVC. Standard kodirana Prosječna redukcija bita u usporedbi sa H.264/MPEG-4 AVC 480p 720p 1080p 2160p HEVC 52% 56% 62% 64% Tablica 1. Usporedba HEVC-a s H.264/MPEG-4 AVC HEVC je razvijen od strane JCT-VC-a (en. Joint Collaborative Team on Video Coding) 2013. godine. Do danas je objavljeno nekoliko verzija i poboljšanja. Na slici 1 može se vidjeti dijagram koji predstavlja dijelove HEVC-a. 4
Slika1. Blok dijagram HEVC-a [1] 2.3 Main Still Picture HEVC ima 3 osnovna profila iz HEVC 1 verzije te 21 dodatan profil iz HEVC 2 verzije. U ovom radu objasnit će se Main Still Picture profil jer BPG format radi na temelju njega. Osim Main Still Picture profila potrebno je spomenuti i Main profil i Main-10 profil. Main Still Picture profil omogućuje da se sliku mogu enkodirati s istim ograničenjima kao i Main profil. Dopušta dubinu bita do 8 bita po uzorku. Tijekom zadnjih nekoliko godina napravljeno je nekoliko istraživanja koja uspoređuju ovaj način rada s drugim slikovnim formatima poput JPEG-a. Rezultati jednog takvog istraživanja mogu se vidjeti u tablici 2. 5
Still image coding standard (test method) Average bit rate reduction compared to JPEG 2000 JPEG HEVC (PSNR) 20.26% 61.63% HEVC (MOS) 30.96% 43.10% Tablica 2. Usporedba HEVC Main Still Picture formata s JPEG formatima Iz tablice se može vidjeti da se uporabom Main Still Picture formata iz HEVC-a može ozbiljno poboljšati performansa kompresije. 2.4 Specifikacije BPG formata S obzirom na to da je BPG omotač oko Main Still Picture profila HEVC-a i BPG daje jako dobre rezultate u kompresiji slike u odnosu na JPEG. Za razliku od HEVC-a, BPG je više namijenjen formatima generičkih slika nego čistom bitstream formatu kao HEVC. BPG ima podršku za slike u boji te podržava formate 4:4:4, 4:2:2 i 4:2:0 koji služe za kodiranje slika u boji. Također postoji podrška i za četvrti kanal koji može biti alfa kanal ili četvrti kanal CMYK tipa slike. Od prostora boja podržava uobičajene tipove RGB i sivu sliku (en. grayscale) te YCbCr,YCgCO i CMYK. Osim što podržava prikazivanje slika, podržava i animacije. 6
3.Zaključak Kao što se vidi u radu BPG format ima bolje performanse od JPEG formata i postoji mogućnost da će ga u budućnosti zamijeniti. Ipak postoje i opasnosti u vidu konkurencije. Neki od zanimljivih formata koji se bore s BPG-om su FLIF(en. Free Lossless Image Format), HEIF (en. High Efficiency Image File Format), JPEG 2000, JPEG XR te WebP. Bit će zanimljivo pratiti koji od ovih formata će na kraju zamijeniti JPEG ili će se pojaviti neki novi. 7
Literatura [1] High Efficiency Video Coding, https://en.wikipedia.org/wiki/high_efficiency_video_coding#version_2_ profiles, siječanj 2018. [2] Better Portable Graphics, https://en.wikipedia.org/wiki/better_portable_graphics, siječanj 2018. [3] BPG Image format, https://bellard.org/bpg/, siječanj 2018. [4] BPG, a still-image format from video compression, https://lwn.net/articles/625535/, siječanj 2018. 8
9