[LUGOS-BLA] Re: Fwd: [LUGOS] kvalitetni resize slik

Bostjan Janezic bostjan at japet.si
Mon Aug 29 23:52:49 CEST 2005


Pozdrav!
polz je rekel(la):
> On Sunday 28 of August 2005 18:57, Bostjan Janezic wrote:
>> Pozdrav!
>>
>> polz je rekel(la):
>> > Kako je lahko downsize .jpeg file-a lossless ? Ce spremenis locljivost
>> v
>> > pixlih s (kA)x(kB) v AxB, kjer je k celo stevilo >1, se bo nekaj
>> > informacije izgubilo. Razen, ce .jpg vsebuje informacijo o tem, kako
>> > velika mora biti pika na papirju.
>>
>> Kadar zmanjsas velikost slike ni nujna izguba kvalitete slike, ker
>> naceloma spreminjas velikost slike in ne locljivost. :) Seveda postopek
>> v
>> obratno smer ni uporaben ampak saj imamo original in nam je vseeno. :)
>> Kaksna bo pika na papirju pa doloca gonilnik za printer in printer sam.
>> :)
> Ja pa na cem ste vi ljudje ?
Hm, ali sprasujes na cem sedim? Ja na stolu. :) To lahko recem samo zase,
za vse ostale vkljucno s teboj polz pa bi ne vedel. :)

> Informacijo lahko zgubis, al je pa ne zgubis. Ce delas resize na manjso
> sliko
> v _pixlih_, jo izgubis. Za resize samo po velikosti, sem dal link na koncu
> posta.
Ali pa jo izgubis samo na pol, razen kadar prenasas samo en bit, ker ce
izgubis tega potem res izgubis vse. :) Polz, jaz sem govoril, da ni nujno,
da izgubis kvaliteto slike.

>> Vsekakor lahko sliko koder samo analizira in zapise v jpeg formatu brez
>> kaksnih algoritmov stiskanja.
> A lahko tole podkrepis s kako referenco ?
> Kot sem napisal, ce me spomin ne vara, je prva stopnja kompresije pri .jpg
> ze
> kvantizacija, kjer ti farbe in svetlost zapise loceno in z natancnostjo,
> ki
> je prilagojena obcutljivosti tvojega ocesa na doloceno barvo. Ce to ni
> vrsta
> stiskanja, potem jaz pac ne vem, kaj za preostanek sveta pomeni stiskanje.
>
> Pa kaj pocnem narobe ?
No, pa poglejva, kje se ne razumeva. :) Kompresija naj bi bila uporabna za
zmansanje pasovne sirine prenosa, enostavnejso obdelavo, manjso kolicino
podatkov za shranjevanje in arhiviranje.
Analiza vsebine slike pokaze, da imamo v sliki del nove ali izvirne
vsebine (entropije) in del predvidljive vsebine (redundanca). Za locevanje
teh dveh vsebin uporabljamo koder, ki naj bi v idealnem primeru prenasal
samo entropijo. V realnosti je tako, da lahko prenasamo vso entropijo in
nekaj redundance (ker realni koder pac ne zna v popolnosti locevat obeh)
ali pa prenasamo okrnjeno entropijo in del redundance. Kompleksnost
koderja doloca kvaliteto slike in stopnjo kompresije.
Glede na to kako prenasamo entropijsko vsebino delimo kompresijske
postopke na brezizgubne, kjer se prenese vsa entropija in izgubne kjer
prensamo samo del entropije.
Z intrakodiranjem izlocamo prostorsko redundanco, z interkodiranjem pa
casovno redundanco.
Intrakodiranje kodiranje za frekvencno analizo slike pogosto uporablja
diskretno kosinusno transformacijo.(DCT) Ta pretvori matriko slikovnih
elementov iz casovnega v frekvencni prostor. Prehod nazaj v casovni
prostor se izvede z inverzno DCT-1 in je brezizguben.(Do napak lahko pride
zaradi zaokrozevanja pri racunanju koeficijentov.) V praksi je osnovni
blok za analizo matrika 8x8 slikovnih elemnetov. Zapis elementov pri DCT
ni krajsi od originala imamo pa dolocene amplitude frekvenc, ki so v
desnem spodnjem kotu bloka najvisje in imajo v realnih slikovnih elementih
pogosto vrednost nic.
Postopek utezitve ali ponderiranja DCT koeficijentov je prilagojen
sposobnosti zaznavanja ocesa.
V obratno smer se podamo v dekodru kjer izvajamo inverzni postopek
pondriranja.
Postopek odcitavanja DCT koeficijentov gre cik cak od zgoraj levo do
spodaj desno po diagnali, da cim prej pridemo do koeficijenta, ki ima
vrednost nic.
Zapis lahko skrajsamo se z uporabo VLC (koda spremenmenljive dolzine), ki
poda vrednost koeficijenta z stevilom DCT koeficijentov z vrednostjo nic
pred opazovanim in vrednostjo opazovanega koeficijenta.
JPEG kompresija
Standard definira postopke za kompresijo mirujoce slike oziroma
intrakodirne pospopke znotraj posamezne slike. Standard izhaja iz nacina
kodiranja slike, kot je doloceno v standardu ITU-R Rec 601. JPEG standard
vsebuje vec nacinov obdelave, najbolj pa je razsirjen nacin, ki temelji na
DCT transformaciji in uporablja naslednje postopke kompresije:
- razdelitev slike v bloke 8x8 slikovnih elementov za vsako YUV komponento
- DCT za vsak blok v sliki
- kvantizacijo DCT koeficijentov z izbrano uteznostno tabelo (doloca
stopnjo kompresije)
- odcitavanje DCT koeficijentov po cik cak nacinu
- VLC kodiranje DCT koeficijentov
- entropijsko kodiranje (vrednosti, ki se pojavljajo veckrat zapisemo s
krajsimi kodami - lep primer je morsejeva abeceda)
Od zgoraj nastetih postopkov je samo kvantizacija izgubna in je dolocena z
ueznostno (pondrirno) tabelo, ki jo uporablaj koder iz cesar sledi, da s
pravilno izbiro uteznostne tabele lahko zapisemo JPEG sliko brez izgub.
Amen.

lp, Bostjan Janezic
p.s: Vsi, ki ste prisli do sem ste zmagali in imate bralno znacko za letos
narejeno. :) Vsem, ki so mnenja, da sem zablodil se iskreno opravicujem in
obljubljam, da ne bom pogosto pocel tega. :)



More information about the lugos-bla mailing list