KOMPRESIJA MULTISPEKTRALNIH SATELITSKIH SNIMAKA KORIŠĆENJEM HEVC STANDARDA

Keywords: HEVC, JPEG2000, kompresija, Landsat, Sentinel, multispektralne fotografije HEVC, JPEG2000, compression, Landsat, Sentinel, multispectral imaging

Satellites for multispectral imaging of Earth, such as American Landsat 8 and European Sentinel-2, daily make huge amounts of high resolution images. Their storage requires lots of digital space, which increases equipment costs. Landsat saves images in uncompressed format, while Sentinel uses JPEG2000 compression. Goal of this paper is to compare High Efficiency Video Coding (HEVC) and JPEG2000 standards for compression of these images, and determine if HEVC would be a better solution. 

UVOD

Skladištenje satelitskih multispektralnih fotografija visoke rezolucije može biti veoma skupo sa stanovišta potrebnog digitalnog prostora i cene opreme. Američki Landsat 8 dnevno snimi do 740 fotografija, od kojih se svaka sastoji od 11 kanala veličine oko 100 MB. Dva satelita evropskog Sentinel-2 programa dnevno objave preko 4 TB fotografija i snime celu površinu Zemlje svakih pet dana. Landsat fotografije se čuvaju u nekomprimovanom GeoTIFF formatu, a Sentinel koristi JPEG2000 kompresiju. U oba slučaja se radi o 16-bitnim slikama. High Efficiency Video Coding (HEVC), poznat i kao H.265, je moderan standard za video kompresiju i u ovom radu ćemo se baviti ispitivanjem validnosti korišćenja ovog standarda u svrhe kompresije satelitskih multispektralnih snimaka. ______________________________________________ NAPOMENA: Ovaj rad je proistekao iz master rada čiji mentori su bili: dr Branko Brkljač, doc. i mast. inž. Miloš Radosavljević, istr. sar. 

MULTISPEKTRALNE SLIKE

Multispektralne fotografije predstavljaju skup fotografija koje su uslikane u različitim opsezima talasnih dužina u elektromagnetnom spektru. Obuhvataju opsege svetlosti u vidljivom i one van vidljivog spektra (različite opsege infracrvene i ultraljubičaste svetlosti). 
To omogućava prikupljanje podataka nedostupnih korišćenjem konvencionalnih metoda fotografisanja. Zamenom jednog ili više kanala iz vidljivog spektra (crveni, zeleni i plavi) sa drugim kanalima dobijaju se lažno obojene (false-color) slike, koje, zbog boljeg kontrasta omogućuju lakše razaznavanje između npr. zelenila i vode ili kamena i betona. Ovakve fotografije se koriste u vojne svrhe za detekciju nagaznih mina i balističkih raketa, pri snimanju dokumenata i umetničkih dela, u medicini i biologiji za ispitivanje tkiva i opekotina. Koriste se i za snimanje Zemlje iz svemira pomoću satelita, što je poljoprivredi i biologiji omogućilo praćenje vegetacije i useva, kao i promene plodnosti zemljišta. 
Geolozi mogu lakše da proučavaju mineralni sastav zemlje na velikom području. Posmatranje zagađenosti i vlažnosti vazduha i prisustvo aerosoli je od velikog značaja za ekologiju. Opservacija okeana, glečera i vulkana je takođe postala lakša, a službe za brzo reagovanje tokom katastrofa takođe imaju benefit od ove tehnologije [1]. 

SATELITI SENTINEL-2 I LANDSAT 8

Sentinel-2 je misija Evropske svemirske agencije (ESA) za snimanje multispektralnih slika širokih regiona, visoke rezolucije i sastoji se od dva satelita. Nalaze se u polarnoj orbiti sa fazom od 180°, što znači da su pozicionirani jedan naspram drugog u odnosu na Zemlju. Nadleću iste predele u okolini ekvatora svakih 5 dana, a oblete Zemlju 14.3 puta dnevno. Poseduju optičke instrumente za snimanje 13 spektralnih kanala sa rezolucijama od 10, 20 i 60 m i širinom područja snimanja od 290 km. Program Sentinel-2 je prvenstveno pružanje informacija vezanih za poljoprivredu i šumarstvo, a služi i za praćenje glečera, zagađenosti jezera i priobalnih voda, promena u pokrivenosti zemljom, snegom, itd. Takođe, fotografije poplava, erupcija vulkana, požara i drugih nepogoda pomažu pri koordinaciji spasilačkih timova i prve pomoći u pogođenim regionima. Landsat 8 je nastao kao kolaboracija između agencija NASA i United States Geological Survey (USGS), a lansiran je 2013. godine sa ciljem da nastavi 40 godina dugu misiju opservacije Zemlje is svemira i daje rezultate uporedive sa onima dobijenim od prethodnih Landsat sistema. Poseduje dva optička instrumenta: Operational Light Imager (OLI), koji ima 9 kratkotalasnih kanala i Thermal InfraRed Sensor (TIRS), sa dva dugotalasna kanala. Senzori mogu da rade neovisno jedan od drugog iako scene snimaju istovremeno. Deset kanala ima prostornu rezoluciju od 30 m, a jedan od 15 m, dok je širina snimanja oko 185 km. Satelit se nalazi u blisko polarnoj, heliosinhronoj orbiti, što znači da iste regione preleti uvek tokom istog lokalnog vremena. Na ovaj način fotografije istih regiona uvek imaju identično osvetljenje i mogu se lako porediti. Landsat fotografije se koriste u iste svrhe kao i one dobijene od Sentinel programa. 

JPEG2000 i HEVC

JPEG2000 je nastao 2000. godine kao naslednik JPEG standarda iz potrebe za efikasnim, fleksibilnim i interaktivnim prikazivanjem slika. Jedan od glavnih zahteva standarda je bio da, bez obzira na implementaciju, od najjednostavnije do najsloženije, uvek može da ima efikasnu interakciju sa istom, efikasno kompresovanom slikom, bez obzira na njenu rezoluciju, bitsku dubinu, bit rate, ili broj komponenti [2]. 
Kodni tokovi u ovom standardu su regioni od interesa koji omogućavaju pristupanje različitim delovima slike sa različitim stepenima kvaliteta. Ovakva skalabilnost daje mogućnost da se slika jednom kompresuje, a da može da se dekompresuje na mnogo načina, sa stepenima kvaliteta koji trebaju korisniku. Primer bi bio upravo pri pregledanju satelitskih snimaka koji su mnogo veće rezolucije od klasičnih monitora. Puna slika smanjenog kvaliteta može da se očita relativno brzo, a dok korisnik zumira sliku da pregleda region koji ga interesuje, dekoder taj region očitava sa većim kvalitetom. Ovo se zove skalabilnost odnosa signal-šum ili skalabilnost distorzije [2]. Slika se prvo transformiše iz RGB palete boja u nepovratnu YCbCr, ili povratnu modifikovanu YUV paletu. Nakon toga se slika deli na blokove koji se transformišu i koduju nezavisno jedni od drugih. Mogu biti bilo koje veličine, ali svi moraju biti istih dimenzija, osim eventualno onih na dnu i na desnom obodu slike. Nad ovim blokovima se dalje vrši diskretna wavelet transformacija (DWT), a nakon nje skalarna kvantizacija nad koeficijentima, smanjujući broj bita potrebnih za njihovo predstavljanje na uštrb kvaliteta. Na izlazu se dobija set celih brojeva koji se koduju bit po bit. Korak kvantizacije se može menjati u zavisnosti od željenog kvaliteta i stepena kompresije. Istraživanja su pokazala [3] da kod kompresije sa gubicima, pri malim bit rate-ovima, u poređenju sa HEVC i H.264 kodekom podešenim da koriste samo I-frejmove, JPEG2000 daje bolje rezultate. Ova prednost se gubi rastom bite rate-a. Kod kompresije bez gubitaka, HEVC korišćenjem I-frejmova daje uporedive rezultate kao i JPEG2000. HEVC -High Efficiency Video Coding standard je nastao kao zajednički projekat ITU-T Video Coding Experts Group (VCEG) i ISO/IEC Moving Picture Experts Group (MPEG) organizacija za standarde. 
Razvijan je od 2010. godine, a, prva verzija standarda je objavljena 2013. godine. Rastom zahteva za video sadržajem veće rezolucije rasla je i potreba da se zameni njegov prethodnik, H.264/MPEG-4 AVC. HEVC je dizajniran sa ciljem da podrži sve aplikacije svog prethodnika, sa dodatnim fokusom na veću rezoluciju i korišćenje arhitektura za paralelno izračunavanje [4]. Pored toga, rađeno je i na efikasnosti kodovanja, otpornosti na greške i integraciji sistema za prenos. Nakon primanja nizova bita, slika deli na blokove, a koder odlučuje kako će ti oni biti raspoređeni. Prva slika u video sekvenci, kao i svaka prva slika u parametrima određenim delovima sekvence, biće kodovana koristeći intra predikciju (tzv. I-frejm). Kod intra predikcije, koder koristi samo informacije iz trenutnog frejma. Za ostale frejmove može da koristi i inter predikciju, kod koje se informacije dobijaju iz prethodno kodovanih frejmova. To se postiže pomoću podataka o pokretu koji se sastoje od izabrane referentne slike i vektora pokreta, koji se primenjuju na prediktovane semplove za svaki blok. Uz pomoć ovih predikcija moguće je odbaciti redundantne podatke iz slike. Nakon što se dobije signal razlike originalne slike i predikcije, nad njime se izvrši linearna prostorna transformacija, uglavnom dvodimenzionalna diskretna kosinusna transformacija (DCT). Transformisani koeficijenti se skaliraju i kvantizuju, čime se uklanjaju manje bitni podaci. Konačno, kvantizovani koeficijenti se entropijski koduju koristeći kontekstno adaptivni, binarni artimetički koder (CABAC). Dekoder će iz dobijenog niza bita generisati identičnu predikciju kao u koderu. Kvantizovani transformisani koeficijenti se rekonstruišu inverznim skaliranjem i inverznom transformacijom, kako bi se dobio rezidualni signal približno identičan originalnom. On se sabira sa predikcijom i rezultat može da se propusti kroz jedan ili dva filtera za korekciju izobličenja nastalih pri kvantizaciji i obradi slike baziranoj na blokovima. Rekonstruisani podaci se smeštaju u bafer, kako bi služili za predikciju ostalih frejmova, ako se koristi inter mod. 

POSTUPAK TESTIRANJA

Kako bismo uporedili performanse HEVC i JPEG2000 kodeka, bilo je potrebno koristiti nekomprimovane slike u RAW formatu. Slike Landsat-a 8 već dolaze u nekomprimovanom GeoTIFF formatu i pogodne su za potrebe ovog rada. Preuzete su sa internet sajta EarthExpolorer [5], a u paketu se nalazi 12 16-bitnih slika jednog regiona, po jedna za svaki od 11 kanala i jedna za kontrolu kvaliteta, kao i dva fajla sa meta informacijama koji nisu od značaja za potrebe ovog rada. Paketi su definisani datumom i vremenom kada je snimak napravljen. Test set koji smo izabrali predstavlja region Vojvodine u okolini Zrenjanina i ima oznaku: LC08_L1TP_186028_20170414_20170501_01_T1. Slika za kontrolu kvaliteta (BQA), je od velikog značaja za istraživače i uvek bi trebala da se kompresuje bez gubitka podataka (lossless). Zbog toga smo se opredelili da nju ne koristimo u ovom testu. Takođe, slika 8. kanala ima duplo veću rezoluciju (i veću veličinu fajla), pa smo odlučili da ni nju ne uvrstimo u test zbog pojednostavljenja postupka, što neće značajno uticati na rezultate poređenja performansi kompresije. Treba dodatno obratiti pažnju da razliiti paketi mogu imati slike različitih rezolucija, a test set na kojem smo mi radili ispitivanja ima rezoluciju od 7801x7911 piksela. Pošto slike dolaze u GeoTIFF formatu, bilo je potrebno iz njih ukloniti geografske podatke iz zaglavlja, jer ih HEVC ne podržava. Ovo smo postigli pravljenjem skripte u Python programskom jeziku i korišćenjem GDAL biblioteke koja sadrži alate za rad sa geografskim podacima. Skripta iz slika uklanja geografske podatke, a pošto HEVC na ulazu traži video fajl, sve slike smo takođe kombinovali u jedan binarni stream i snimali ih u yuv formatu. Test program za JPEG2000 otvara GeoTIFF uz upozorenje da fajlovi sadrže tagove koje ne može da očita, te da će oni biti ignorisani. Zbog toga za JPEG2000 nije bilo potrebno vršiti nikakvu predobradu podataka. Ipak smo, za potrebe poređenja rekonstuisanih slika sa originalnim, morali da napravimo i set originalnih slika konvertovanih u RAW format. Kao test program za JPEG2000 kompresiju smo koristili OpenJPEG [6] referentni softver verzije 2.3.0. Postupak je bio da se svaka od 10 slika prvo kompresuje u JPEG2000 format sa određenim nivoom kvaliteta koji zadajemo jednim od ulaznih parametara i izračunamo veličinu dobijenog fajla. Sumiranjem veličina nekomprimovanih i deljenjem sumom veličina komprimovanih fajlova dobijamo formulu za odnos kompresije (1): 
   fajlovi ni kompresova fajlovi vani nekompreso kompresije odnos (1) 
Parametar za podešavanje željenog kvaliteta kompresije kod OpenJPEG-a predstavlja vršni odnos signal-šum (PSNR) u dB, a program će pokušati da podesi parametre tako da se na izlazu dobije slika čija je PSNR vrednost što približnija zadatoj. U našem testu smo koristili vrednosti u opsegu od 34 do 134 sa korakom 2, što je dalo rezultate uporedive sa onima dobijenim HEVC kompresijom. Ipak, pošto se ne dobije vrednost identična zadatoj, potrebno je uporediti kvalitet rekonstruisane slike sa originalnom. U tabeli 1. nalazi se poređenje vrednosti PSNR za zadati odnos kompresije 10, kao i poređenje odnosa kompresije za zadati PSNR 70. HEVC ima mnogo veću kompleksnost, pa se i očekivalo da će dati bolje rezultate. Cena je, međutim, mnogo duže vreme kompresije. JPEG2000 kodeku je trebalo nekoliko sati da izvrši testove nad svih 10 kanala, za sve različite vrednosti zadatog kvaliteta (50 u našem testu). HEVC-u je, sa druge strane, za set od 10 slika i samo jedan zadati QP, u proseku trebalo oko 1.5 sat pri inter predikciji, između 3 i 7 sati za intra P, a između 7 i 16 sati za intra B predikciju, što se vidi na slici 2. 

Slika 2. Vreme komprimovanja

Hardverskom implementacijom i odabirom jednog određenog skupa parametara bi proces kompresije HEVC-om trajao svega nekoliko minuta. Takođe se postavlja i pitanje kompromisa između performansi i kompleksnosti. 

ZAKLJUČAK

Jedan od ciljeva ovog projekta je bio uspostavljanje modela testiranja, kao i paket funkcija i skripti koji će omogućiti dalja istraživanja u oblasti lossy kompresije nad satelitskim slikama. Rezultati pokazuju da HEVC može da bude bolja opcija od JPEG2000 za kompresiju ovakvih fotografija, jer postiže bolji kvalitet pri istim nivoima kompresije. Potrebno je vršiti dalja istraživanja kako bi se utvrdilo koji parametri daju zaista najbolje rezultate. Nakon toga bi se mogla napraviti hardverska implementacija kodeka koja bi mnogo ubrzala postupak kompresije i dekompresije. Postojeći softver za pregledanje i obradu satelitskih fotografija bi trebao da dobije odgovarajuća proširenja za podršku za rad sa ovako komprimovanim slikama.
KOMPRESIJA MULTISPEKTRALNIH SATELITSKIH SNIMAKA KORIŠĆENJEM HEVC STANDARDA