Beeldverwerking
Prof. dr. ir. W. Philips
Didactisch materiaal bij de cursus
Academiejaar 2010-2011
http://telin.UGent.be/~philips/beeldv/
Tel: 09/264.33.85 Fax: 09/264.42.95
Telecommunicatie en Informatieverwerking
UNIVERSITEIT GENT
Telecommunicatie en Informatieverwerking
UNIVERSITEIT GENT
10c
.2
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Copyright noticeThis powerpoint presentation was developed as an educational aid to the renewed course “Image processing” (Beeldverwerking), taught at the University of Gent, Belgium as of 1998.
This presentation may be used, modified and copied free of charge for non-commercial purposes by individuals and non-for-profit organisations and distributed free of charge by individuals and non-for-profit organisations to individuals and non-for-profit organisations, either in electronic form on a physical storage medium such as a CD-rom, provided that the following conditions are observed:
1. If you use this presentation as a whole or in part either in original or modified form, you should include the copyright notice “© W. Philips, Universiteit Gent, 1998-2002” in a font size of at least 10 point on each slide;
2. You should include this slide (with the copyright conditions) once in each document (by which is meant either a computer file or a reproduction derived from such a file);
3. If you modify the presentation, you should clearly state so in the presentation;
4. You may not charge a fee for presenting or distributing the presentation, except to cover your costs pertaining to distribution. In other words, you or your organisation should not intend to make or make a profit from the activity for which you use or distribute the presentation;
5. You may not distribute the presentations electronically through a network (e.g., an HTTP or FTP server) without express permission by the author.
In case the presentation is modified these requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the presentation, and can be reasonably considered independent and separate works in themselves, then these requirements do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the presentation, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. In particular note that condition 4 also applies to the modified work (i.e., you may not charge for it).
“Using and distributing the presentation” means using it for any purpose, including but not limited to viewing it, presenting it to an audience in a lecture, distributing it to students or employees for self-teaching purposes, ...
Use, modification, copying and distribution for commercial purposes or by commercial organisations is not covered by this licence and is not permitted without the author’s consent. A fee may be charged for such use.
Disclaimer: Note that no warrantee is offered, neither for the correctness of the contents of this presentation, nor to the safety of its use. Electronic documents such as this one are inherently unsafe because they may become infected by macro viruses. The programs used to view and modify this software are also inherently unsafe and may contain bugs that might corrupt the data or the operating system on your computer.
If you use this presentation, I would appreciate being notified of this by email. I would also like to be informed of any errors or omissions that you discover. Finally, if you have developed similar presentations I would be grateful if you allow me to use these in my course lectures.
Prof. dr. ir. W. Philips E-mail: [email protected] of Telecommunications and Information Processing Fax: 32-9-264.42.95University of Gent Tel: 32-9-264.33.85St.-Pietersnieuwstraat 41, B9000 Gent, Belgium
Beeldcompressietechnieken
met verlies
10c
.4
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Algemeen compressieschema
•Orthogonale transformatie•Predictie van pixelwaarden uit voorgaande pixels
(gehele) predictiefouten of (reële) transformatiecoëfficiënten
verwijderen van visueel-
irrelevante data
• Huffmancodering• Arithmetische codering
bitstroom
verwijderen van statistische redundantie
gehele getallen
verminderen van spatiale correlatie
• Kwantisatie van coëfficiënten/predictiefouten• Niet coderen van sommige coëfficiënten /
predictiefouten
10c
.5
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
De “rate-distortion” curve
aantal bits (“bit rate”)
distorsie
“rate-distortion” curve
“rate-distortion” grens
Bij verlieshebbende codering moet
men kwaliteit afwegen tegen
compressiefactor Als numeriek distorsiecriterium neemt
men dikwijls de kwadratische fout
1
0
1
0
2),(),(
~1 N
y
M
x
yxbyxbMN
De “Rate-distortion” curve geeft de corresponderende waarden van distorsie en aantal bits, voor verschillende instellingen van de codeerparameters
of de PSNR,of een gemiddelde score
gegeven door een panel, of …
De “Rate-distortion” grens begrenst de best mogelijke distorsie die om het even wel codeerschema kan bereiken bij een gegeven aantal bits
beter moet voor een goede techniek overal dalend zijn!
Ze wordt meestal berekend op een representatief stel beelden
10c
.6
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Voorbeelden...
0
1
2
3
4
5
0 50 100 150 200
Lossy JPEG
Lossy Btpc
#bits (kbyte)
Rmsfout
1
0
1
0
2),(),(
~1 N
y
M
x
yxbyxbMN
Huidige compressiestandaard
Predictieve techniek
Quasi-verliesloos
gebied
De huidige compressiestandaard is niet langer optimaal in het quasi-verliesloos gebied
10c
.7
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
…Voorbeelden: Compressie vs. distorsie
0
1
2
3
4
5
0 2 4 6 8 10 12 14
"lossless" Hadamard
Lossy JPEG
Btpc
Lossless DCT
Compressiefactor
Rmsfout
bits#8MN
10c
.8
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
“Subjectieve” kwaliteitsmaten
Deze houden rekening met de eigenschappen van het menselijk oog
• De gewichtsfunctie Wk,l houdt rekening met de spatiale-frequentie-
gevoeligheid van het oog
Voorbeeld: frequentiegewogen gemiddelde kwadratische fout
•
1
0
1
0,
2,,
~M
k
N
llklklk WBB (met en 2D-DFTs)lkB , lkB ,
~
• Interessant bij het optimaliseren van codeerschema’s op basis van
transformatiecodering
• Wk,l hangt in principe af van de kijkafstand! enkel voor vaste kijkafstand!
10c
.9
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Predictietechnieken met verlies
De coder doet predictie op basis van de gedecodeerde pixels i.p.v. op basis van de originele pixels
minder nauwkeurige predictie in de coder
geen foutpropagatie
huidige pixel
predictie -+
Huffmancoder
netto betere predictie
gedecodeerde pixels
kx p
kwantisatie
/xk
k
Huffmandecoderschalingpredictie
+ +
nieuwe pixel
k k
10c.
10
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Kwantisatie
Kwantisatie=het afronden van een reëel getal naar geheel veelvoud van een kwantisatiestap
Voorbeeld met kwantisatiestap =3.5 en afronden•ai,j=12.7 = 3.628571429 ki,j= 4•ai,j=-4.5 = -1.28571 ki,j= -1
Nut van kwantisatie
•na kwantisatie zijn er minder getallen mogelijk, waardoor de ki,j
meer comprimeerbaar zijn dan de ai,j
•voorbeeld-er zijn oneindig veel getallen ai,j in het interval [-35, 35], maar daarmee corresponderen voor =3.5 maar 21 verschillende ki,j
-voor =7 zijn er nog minder (n.l. 11) verschillende ki,j
Nadelen kwantisatie: er gaat informatie verloren; uit de ki,j kan men de ai,j maar benaderend reconstrueren, b.v.b. voor =3.5:
•ki,j= 4 ai,j 4 =14
•ki,j= -1 ai,j -1 = -3.5
10c.
11
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Kwantisatie: voorbeeld
Kwantisatie (=2)
-2 -1
-1 0
0 0
1 1
2 1
3 2
4 2
5 3
6 3
Dekwantisatie (schaling met =2 )
-1 -2
0 0
0 0
1 2
1 2
2 4
2 4
3 6
3 6
10c.
12
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
...Transformatiecodering
Doel: beelddata lineair transformeren in (gekwantiseerde) coëfficiëntenmet lagere entropie
transfor-matie
1
0
2na
a
a
1...0
1...0
),(
ny
nx
yxb statistischcoderen
inverse transfor-
matie
1
0
2~
~
~
na
a
a
1...0
1...0
),(~
ny
nx
yxbaa ~
kwantisatie
k
]/[ jjj ak
statistischdecoderen
kschaling
jjj ka ~
Voordeel orthogonaliteit van de basisfuncties: aangezien de transformatie energie behoudt, is de kwadratische fout gemakkelijk te schatten:
1
0
21
0
1
0
22
~),(),(~ n
iii
n
x
n
y
aayxbyxbd
2/~0 jjj aa
422 /n als j=
10c.
13
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
De kwantisatiefout nauwkeuriger bekeken
Afrondingsfouten kunnen beschouwd worden als stochastische grootheden
•kleine randomvariaties op b(x,y) leiden tot random variaties op aj
•als deze variaties groot zijn t.o.v. j lijkt het alsof de j uit gegenereerd worden door een randomgenerator met een uniforme distributie
Nx
x
1
Nk
k
1 jjj xk /transformatie
Stel j uniform verdeeld in [-j /2, j/2] 12/1
)( 22/
2/
22j
jj dE
j
j
onafhankelijk van de gekozen orthogonale transformatie!
Na
a
1
N
jj
N
jjEdE
1
2
1
2
12
1)()(
1
0
21
0
1
0
22
~),(),(~ n
ijj
n
x
n
y
aayxbyxbd
1
0
22n
ij jjj aa ~met
10c.
14
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
De optimale orthogonale transformatie
De beste transformatie is deze die tot de beste rate-distortion curve leidt:•bij een gegeven compressiefactor is de distortie zo klein mogelijk•bij een gegeven distortie is de compressiefactor (of voor de eenvoud: de entropie van de gekwantiseerde coëfficiënten) zo hoog mogelijk
In eerste benadering blijkt dat•de RMS-fout enkel afhankelijk is van de kwantisatieparameters en de blokgrootte, maar niet van de gebruikte orthogonale transformatie
•de compressiefactor is wel degelijk afhankelijk van de gebruikte orthogonale transformatie
Op basis van de tweede-orde beeldstatistiek (die men kan meten) kan men een optimale transformatie afleiden: de Karhunen-Loève transformatie
deze transformatie is beeldafhankelijk en niet-scheidbaar!
Experimenteel blijkt dat de Discrete-CosinusTransformatie (DCT) zo goed als optimaal is
deze transformatie is beeldonafhankelijk
en ze is scheidbaar (en dus sneller te berekenen)!
Verlieshebbende compressie
DCT-gebaseerde technieken
10c.
16
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
De discrete-cosinustransformatie (DCT)
)()( xqyq ji
+···
coëfficiënten-blok
a00 +a01 +a02 +a03+···
+a10 +a11 +a12 +a13+···
+a20 +a21 +a22 +a23+···
+a30 +a31 +a32 +a33+···
=
beeldblok
2
1
2
1,,
2
1,0
n
n
nFrequenties:
n
xi
n
cxq i
i)2/1(
cos)( met ci=1 als i=02 als i 0
Basisfuncties: qi(y)qj (x);
nf
2
1n
f1DCT: DFT:
10c.
17
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Blokcodering met de DCT
klein
groot
DCT
jia ,
Experimenteel blijkt dat blokgroottes van n=8 à n=32 de beste rate-distortion curve opleveren
De DCT is scheidbaar en vraagt dus 4n berekeningen per pixel n=8 is dus vier keer sneller dan n=32 men kiest steeds n=8
Kleine coëfficiënten komen veel voor; grote zijn zeldzaam het histogram van de gekwantiseerde coëfficiënten is sterk niet-uniformideaal voor statistische codering
10c.
18
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Kwantisatie met frequentie-afhankelijke
nauwkeurigheid: jijiji ak ,,, /
De JPEG-standaard
VoorwaartseDCT
beelddata
gecomprimeerde data
Gecomprimeerde file
entropie-coderingKwantisatie
kwantiseringstabel
tabel
huffmantabel
tabelVerdeling in blokken van 8x8 pixels
JPEG = Joint Photographic Experts Group
De gekwantiseerde DC-coëfficiënten a0,0 (één per blok) worden verzameld in een kleiner beeld dat met lossless JPEG wordt gecodeerd
“Runlength” (looplengte-) codering van hoogfrequentcoëfficiënten binnen een blok
Huffmancodering of aritmetische codering
10c.
19
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Bij hoge spatiale frequenties worden de coëfficiënten ruwer gekwantiseerd omdat het oog er minder gevoelig is
Psychovisueel aangepaste kwantisatie
ji,
Verticale frequentie i
Hor
izon
tale
frequ
entie
j
De kwantisatiestap is frequentieafhankelijk
De waargenomen spatiale frequentie hangt af van kijkafstand!
Men veronderstelt dus impliciet een vaste kijkafstand
frequentieafhankelijke kwantisatie is niet gewenst als men beelden wenst uit te vergroten (b.v. in medische toepassingen)
De optimale kwantisatietabel wordt afgeleid uit experimenten met vrijwilligers
10c.
20
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Codering van de DC-coëfficiënten
Naburige DC-coëfficiënten lijken nog vrij sterk op elkaar
men vormt er een DC-beeld mee en comprimeert dit beeld met LJPG
DC-coëfficiënten van elk blok, gegroepeerd in 32x32 beeld(hier 8x vergroot getoond)
256x256 beeld, verdeeldin 8x8 blokken
10c.
21
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
metasymbool, gecodeerd door b.v. een (aangepaste)
Huffmancoder
Zigzagvolgorde en runlengtecodering
De gekwantiseerde HF-coëfficiënten sterven snel uit met stijgende frequentie•wegens de typische concentratie van beeldenergie bij lage frequenties•wegens de sterkere kwantisering van coëfficiënten met hogere frequenties
Dit exploiteert men door “zero-runs” en “end-of-block markers” in te voeren
9
-11
-13
29
35
-30
250
800
00001-21
000-212-3
0012-1-18
00-1-3-40-27
0-2010-6-27
01-303-941
12-7121836-312
3-14-1523-80123
“End-of-block”
“Zero-run”
(2,0) (-1,3) (-3,1) (-4,0) (5,0)
2 -1 0 0 0 -3 0 -4 5
10c.
22
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Origineel DCT, 32x32 (factor 40)
a
bc
Fouten bij grote compressie
Aan de blokgrenzen verandert de fout discontinu
Blokdistorsie (a)
De coëfficiënten met de hoogste frequenties worden door de kwantisatie effectief nul gemaakt, net zoals een “ideaal” laagdoorlaatfilter dat zou doen
Laag-doorlaateffect: het beeld wordt wazig (b) Gibbs-effect: er verschijnen “rimpels” in het beeld (c)
10c.
23
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
JPEG: Problemen bij grote compressie
Blokdistortie: de blokgrenzen worden zichtbaar
Compressiefactor 27 (0.3 bpp)
Beeldcompressietechnieken
met verlies
Subbandcodering en wavelets
10c.
25
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Subbandcodering - waveletcodering
Principe:•transformeer beeld met niet-redundante wavelettransformatie•kwantiseer de waveletcoëfficiënten•buit de similariteit van de waveletbanden uit via nulboomcodering of significantiecodering
•gebruik een Huffmancoder of aritmetische coder om de overblijvende statistische redundantie uit te buiten
De JPEG-2000 standaard•uitbreiding van de “oude” JPEG-standaard•waveletontbinding + significantiecodering•belangrijkste voordelen
•betere kwaliteit bij zeer lage en zeer hoge compressie•zeer flexibel: “schaalbaar” in resolutie, kwaliteit, spatiale locatie en kleurcomponent
10c.
26
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Schaalbaarheid in kwaliteit
256x256x8 512x512x12
ISDN (128 kbit/s): 4 s 24 s
33.6 modem: 20 s 2.2 min.
0.02 s0.09 s0.17 s0.27 s0.51 s1.05 s2.10 s3.90 s
Progressieve decompressie:•zeer goed beeld na 2 s•bruikbaar bij het navigeren in grote beeldensets
256x256x8
Totale ransmissietijd over 33.6 modem
•zonder compressie: 20 s•met compressie: 13 s
Time:
Opmerking: de getoonde compressietechniek gebruikt geen wavelets!
10c.
27
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Schaalbaarheid
Schaalbaarheid slaat op het feit dat men door het trunceren van het gecomprimeerd bestand een beeld krijgt dat steeds beter wordt naarmate er minder getrunceerd wordt
De betekenis van “beter” hangt af van de volgorde waarin datapakketten in het gecomprimeerd bestand worden opgeslagen
•schaalbaarheid in nauwkeurigheid: de meest significante bits van alle waveletcoëfficiënten in alle banden worden eerst opgeslagen, nadien volgen minder significante bits
•schaalbaarheid in resolutie: laag- en middenfrequente waveletbanden worden eerst met maximale kwaliteit opgeslagen vooraleer hoog-frequente coëfficiënten aan bod komen
•schaalbaarheid in spatiale locatie: alle coëfficiënten van een “region of interest” (b.v. centraal deel van een beeld) worden eerst opgeslagen
•schaalbaarheid in kleur: de coëfficiënten van de luminantiecomponten worden eerst opgeslagen; pas dan volgt de chrominatie
10c.
28
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Schaalbaarheid: opmerkingen
Er kan van één schaalbaarheid naar een andere worden overgeschakeld tijdens de compressie: b.v. resolutie nadien kwaliteit
De JPEG-2000 datastroom bestaat uit pakketten; in de header van die pakketten wordt aangegeven welke informatie ze bevatten
Door pakketten te herordenen kan een andere schaalbaarheid worden verkregen zonder te decoderen en hercoderen
Toepassingen schaalbaarheid:•progressieve transmissie over kanalen met lage bandbreedte: naarmate de bits binnenstromen berekent de decoder steeds betere versies van het gecomprimeerd beeld
•bij afdrukken op een grijswaardenprinter kunnen chrominantiepakketten worden weggelaten
•“thumbnails” op een webpagina genereren door hoge-kwaliteitsbeelden te trunceren•gemakkelijke conversie van een webpagina naar een WAP-versie met lage kwaliteit maar geschikt voor kanaal met lage bandbreedte
10c.
29
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Nulboomcodering...
De coëfficiënten in een boom•corresponderen met dezelfde plaats•en zijn het resultaat van een zelfde soort filtering op een laagdoorlaat (en onderbemonsterde) versie van het beeld
10c.
30
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
...Nulboomcodering
De “afstammelingen” van een coëfficiënt met waarde nul zijn dikwijls ook nul
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-
-
-
-
N
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
nulbomen worden vervangen door één enkel symbool (cfr. looplengtes)
10c.
31
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
één resolutieniveau,bestaand uit 3 subbanden
Significantiecodering (JPEG2000) …
één precinct
0 1
2 3
8 9
10 11
4 5
6 7
1 code-blok
Elk resolutieniveau wordt opgesplitst in “precincts” (districten):
•elk district bevat coëfficiënten uit een zelfde spatiale omgeving
•en uit alle 3 de subbanden van het resolutieniveau
Elk district wordt op gelijkaardige manier opgesplitst in codeblokken
Codeblokken worden onafhankelijk van elkaar gecodeerd
•methode: contextafhankelijke encodering van “bitvlakken”, startend met het meest significante
•bitvlak k = beeldje gevormd door k-de bit van de absolute waarden elke coëfficiënt van een codeblok
10c.
32
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
… Significantiecodering (JPEG2000)
Elk bitvlak (bitplane) wordt onderverdeeld in stroken van 4 hoog
1 0 1 0 1 1 0 11 1 0 1 1 1 1 01 1 1 0 0 0 1 01 1 0 1 0 0 0 0…1 1 1 1 1 0 1 00 1 1 1 0 1 1 00 0 1 0 1 0 0 0
…
De gecomprimeerde data wordt gegroepeerd in lagen (layers) en pakketten:
•één pakket bestaat uit een (variabel) aantal bitvlakken van een aantal codeblokken uit één en het zelfde district
bevat data van één bepaalde spatiale omgeving en resolutie
•een laag bestaat uit één pakket van elk district van elk resolutieniveau; een laag bevat echter niet noodzakelijk alle bitplanes
bevat data die de kwaliteit van het hele beeld verhoogt
Volgorde van aritmetische codering•meest significante bitvlakken eerst•binnen een bitvlak: strook per strook•binnen een strook: kolom per kolom
Tekenbit wordt apart gecodeerd en niet als bitvlak beschouwd (zie verder)
10c.
33
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Bitvlakcodering
Elk bitvlak wordt afzonderlijk gecodeerd, maar de codering is adaptief en gebruikt contextinformatie van meer significante (in de betekenis 2k is meer significant dan 2k-1) bitvlakken
Definitie: een bepaalde waveletcoëfficiënt wordt “significant” (in de betekenis van “significantiecodering”) van zodra minstens één van zijn reeds gecodeerde bits gelijk is aan 1
De codering van een bitvlak loopt in 3 stappen; in elke stap k wordt een deel van de bits van het bitvlak gecodeerd
•stap 1, significantiepropagatie: coderen van de bits met waarde 2k van coëfficiënten die nog niet significant zijn, maar die minstens één spatiale buur hebben die wel al significant is
•stap 2, verfijning van de absolute waarde: coderen van bits van coëfficiënten die in een vorige bitvlak significant werden
•stap 3, opkuis: coderen van alle overblijvende bits
Opmerking: wanneer een coëfficiënt voor de eerste keer significant wordt, dan wordt meteen zijn teken gecodeerd
10c.
34
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
-7=-011110=+1010
Bitvlakcodering: voorbeeld
Stap 10 1 3 -7
3. opkuis 1+ 0 0 0
1. significantie 0
2. verfijning 0
3. opkuis 0 1-
1. significantie 0 1+
2. verfijning 1 1
3. opkuis
1. significantie 1+
2. verfijning 0 1 1
3.opkuis
Coëfficiënten
bitvlak 3: waarde 23
Opmerking: voor het allereerst bitvlak worden stap 1 en 2 niet uitgevoerd; er is dan immers nog geen significante coëfficiënten
tekenbit
bitvlak 2: waarde 22
bitvlak 1: waarde 21
geen overblijvende coëfficiënten opkuis heeft geen werk
bitvlak 0: waarde 20
10c.
35
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Filosofie bitvlakcodering
Filosofie bitvlakencodering: optimaal “sorteren” van de bits voor een optimale adaptieve werking van de aritmetische coder
•in stap 1 is er veel kans op “1”-bits: significante coëfficiënten = grote coëfficiënten, en deze liggen spatiaal gegroepeerd
•in stap 2 is er geen reden om aan te nemen dat “1”-bits meer zouden voorkomen dan “0”-bits of omgekeerd
•in stap 3 worden typisch de kleinste coëfficiënten gecodeerd veel kans op “0”-bits
In elk van de 3 stappen hebben we dus een andere statistiek
Door de bits van een bepaalde soort na elkaar te coderen ipv. alle soorten door elkaar te coderen kan een adaptieve aritmetische coder beter zijn werk doen
10c.
36
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Opmerkingen
Niet besproken aspecten•er wordt ook looplengtecodering gebruikt, maar niet overal•het beeld wordt eerst in tegels verdeeld; dit zijn deelbeelden die onafhankelijk van elkaar gecodeerd worden extra hoogniveau schaalbaarheid
Waarom significantiecodering en geen nulboomcodering in JPEG 2000?•bij nulboomcodering worden subbanden gezamenlijk gecodeerd
minder mogelijkheden voor schaalbaarheid
en complexere implementatie!
10c.
37
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Waveletcodering vs. JPEG...
SPIHT= Set Partitioning in Hierarchical Trees = wavelets+nulboomcodering
SPIHT doet het veel beter dan JPEG bij lage bit rates
De nieuwe JPEG-standaard “JPEG-2000” is vergelijkbaar met SPIHT
JPEG 2000, factor 40 JPEG, factor 40 SPIHT, factor 40
Origineel: 256 kbyte, 8 bit/pixel
Gecomprimeerd: 6500 byte, 0.2 bit/pixel
10c.
38
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Waveletcodering vs. JPEG...
JPEG 2000, factor 40
JPEG, factor 40
JPEG 2000, factor 100
JPEG, factor 100
JPEG 2000, factor 200
JPEG, factor 200
niet realiseerbaar
10c.
39
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
...Waveletcodering vs. JPEG
SPIHT en JPEG-2000 veroorzaaken nooit blokdistorsie
Kleine beelden comprimeren duidelijk minder goed dan grote beelden
het is niet de resolutie van het beeld maar zijn inhoud die het uiteindelijk aantal bytes voor een bepaalde kwaliteit vastlegt
JPEG-2000, factor 40 JPEG, factor 40 SPIHT, factor 40
Origineel: 64 kbyte, 8 bit/pixel
Gecomprimeerd: 1600 byte, 0.2 bit/pixel
10c.
40
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Commando’s
Conversie naar jpeg-2000•factor 40: jasper --input lena512x512.bmp--output-format jp2 --output lena.jp2 -O rate=0.025
•factor 100: jasper --input lena512x512.bmp--output-format jp2 --output lena.jp2 -O rate=0.01
Conversie van jpeg-2000•jasper --input lena.jp2 --output-format pnm--output lena.pnm
Conversie naar jpeg•factor 40: convert -quality 10 lena512x512.bmp lena.jpg•factor 100: convert -quality 3 lena512x512.bmp lena.jpg
10c.
41
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Bibliografie
Technical overview of JPEG-2000•http://www.rii.ricoh.com/%7Egormish/pdf/dcc2000_jpeg2000_note.pdf
JPEG-2000 software implementatie•http://www.ece.uvic.ca/~mdadams/jasper/
Appendix
niet te kennen voor examen
10c.
43
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Entropie van een gekwantiseerde gaussiaan
)( kpp xk
k
kk ppH ln2ln
k
xk
kp 2
ln2
)(2
22
k k
kx pk
kp 2
ln2
)(2
22
2
2
2)(
x
xpx )/ln(2
ln21
c
2
2
221
)(
x
x exp
/xkx k
k
2
ln
10c.
44
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Nx
x
1
transformatie
Na
a
1
Nk
k
1
gaussiaans met spreiding k
De optimale orthogonale transformatie...
Onze aanpak is statistisch:
• Stel in zodat de verwachte RMS-fout gelijk is aan de opgelegde waarde
• Bereken de verwachte entropie als schatting van het verwacht aantal bits
We zoeken de P die bij een gegeven RMS-fout tot het kleinst aantal bits leidt
Onderstellingen
•De uniforme kwantisatie is voldoende fijn ( is voldoende klein)
•De coëfficiënten aj zijn gezamenlijk gaussiaans verdeeld met spreiding j
N
kkcH 2log'benadering:
10c.
45
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
...De optimale orthogonale transformatie...
Nx
x
1
Nk
k
1
N
kk
cH
2log'transformatie
Stel j uniform verdeeld in [- /2, /2] 12/1
)( 22/
2/
22
dE j
jjj ak Kwantisatiefouten: totale kwadratische fout: 22~ εxx
onafhankelijk van de gekozen orthogonale transformatie!
22~ εxx EE verwachte kwadratische fout: 12/2N
De optimale transformatie is dus deze met de kleinste totale entropie
deze waarvoor minimaal isk
k
Na
a
1
gaussiaans met spreiding k
)(1
2
N
jjE
10c.
46
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
...De optimale orthogonale transformatie
De optimale transformatie is de Karhunen-Loève transformatie, d.w.z. de
kolommen van P zijn de eigenvectoren van de covariantiematrix K van x:
tEK xx iiiK pp nP pp 1
Er geldt i=i2 d.w.z. de eigenwaarden zijn de varianties van de coëfficiënten
Het blijkt dat men de (in het algemeen niet-scheidbare) KLT-transformatie
zeer goed kan benaderen door de DCT die scheidbaar is
De KLT geeft ook een maximale energiecompactie: de verwachte energie
in de eerste m coëfficiënten is voor geen enkele
andere transformatie groter (en dit geldt voor alle m) op voorwaarde dat
men de pi ordent volgens dalende i
1
0
21
0
2m
ii
m
iim aEE
Men gebruikt bijna steeds de DCT en niet de KLT
10c.
47
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
Verband tussen de DCT en de DFT
)1(')2(')0('
)1()2()0(
nbnbb
nbnbb
)12(')1(')('
)0()2()1(
nbnbnb
bnbnb
1
0
1
0
)2/1(cos)()()(
n
x
kn
xkk n
xkxb
n
cxbxqA
1
0
)2/1(1
0
)2/1(
)(21
)(21 n
x
n
xkj
kn
x
n
xkj
k exbn
cexb
n
c
12
'
)2/1'2(1
0
)2/1(
)'('21
)('21 n
nx
n
xnkj
kn
x
n
xkj
k exbn
cexb
n
c
12
0
2 )('21 n
x
n
kxj
n
kj
k exben
c
xnx 12'
even uit-breiding
)(21
22 be
n
cn
n
kj
k DFT
10c.
48
© W. Philips, Universiteit Gent, 1999-2011versie: 8/12/2010
De 2D-DFT definieert een periodieke uitbreiding van het beeld
Evenperiodieke uitbreiding
De 2D-DCT definieert een even-periodieke uitbreiding van het beeld
Discontinuïteiten van de beeldfunctie aan de beeldranden!
Geen discontinuïteiten van de beeldfunctie aan de beeldranden, wel van de afgeleiden!
DCT-coëfficiënten nemen sneller af als functie van de frequentie dan DFT- coëfficiënten