Sisältö:
2. Intensiteetti muunnokset 3. Värikuvan perusteita
4. Kompressiotekniikat 5. Hahmontunnistus
OSA 2
7.1.2009 Kuva- ja videosignaalinen käsittely / Kari Jyrkkä 2
Intensiteetti muunnokset
Intensity transforms & spatial filtering
) (
) ,
( )
, (
r T
s
y x
f T
y x
g
Intensiteetti muunnokset
Negatiivi kuvat
r L
s 1
7.1.2009 Kuva- ja videosignaalinen käsittely / Kari Jyrkkä 4
Intensiteetti muunnokset
Log muunnokset
) 1
log( r c
s
Intensiteetti muunnokset
Bit-plane slicing
7.1.2009 Kuva- ja videosignaalinen käsittely / Kari Jyrkkä 6
Intensiteetti muunnokset
Histogrammi prosessointi
Värikuvan perusteita
• Värikuvien prosessointia, miksi?
– Väri on tärkeä tunnistustekijä.
– Ihmissilmä erottaa tuhansia värisävyjä, mutta vain pari tusinaa harmaasävyä.
• Materiaalia väreistä....
7.1.2009 Kuva- ja videosignaalinen käsittely / Kari Jyrkkä 8
Värikuvan perusteita
Värikuvan perusteita
Yhteenvetoa väreistä ja värimalleista:
• Primäärivärit (R,G,B) kuvia otettaessa tai näytettäessä.
• Secundäärivärit (C,M,Y) kuvia paperille tulostettasessa
• Värimalli (RGB) kuvan ottaminen kameralla tai näyttäminen monitorilla
• Värimalli (HSV) kuvan värin kuvaileminen ihmisen käyttöön.
• Pseudo color tekniikat harmaasävykuvien yksityiskohtien korostamiseen värein.
• Värikuvan prosessointi joko kuvataso kerrallaan ja lopuksi summataan tasot
tai kolmiväri pikseli prosessointia.
7.1.2009 Kuva- ja videosignaalinen käsittely / Kari Jyrkkä 10
Värikuvan perusteita
• YUV värimalli on tapa koodata väritieto analogisissa väritelevisoissa – Y = luma = intensiteettitieto = painotettu summa RGB komponenteista – UV = krominanssi = värikkyystieto
• U = Sininen -Y
• V = Punainen - Y
• YCbCr digitaalisille värikuville / värikuvien prosessointiin.
– Cb ja Cr komponentit voidaan desimoida ihmissilmän sitä havaitsematta => tarvitaan vähemmän
kaistaa lähetykseen.
Tehtäviä
1. Kuinka monta eri harmaasävyä on mahdollista olla RGB kuvassa, jossa kukin väritaso on esitetty 8-bitillä?
2. Erään RGB kuvan yhden pikselirivin RGB komponenttien intensiteettiarvot on esitetty alla olevassa kuvassa 1. Minkä värinen on pikselirivin keskimmäinen pikseli?
3. Luettele alla olevan kuvan 2 eri RGB komponentit. Tiedetään, että värikomponentit ovat
aina maksimi intensiteettisiä ja myös niiden saturaatio arvo on maksimissaan.
7.1.2009 Kuva- ja videosignaalinen käsittely / Kari Jyrkkä 12
Vastaukset tehtäviin
Kompressiotekniikat
2-D intensiteetti matriisit (kuvat) sisältävät 3 tyyppistä redundanssia:
1. Coding redundancy
2. Spatial & temporal redundancy
3. Irrelevant information
7.1.2009 Kuva- ja videosignaalinen käsittely / Kari Jyrkkä 14
Kompressiotekniikat, tehtäviä
1. Laske montako byteä tallennustilaa vaatii 2 tunnin standard definition elokuva, joka käyttää 720*480*24 bit pikseli matriiseja. Elokuva koostuu kuvista, joita vaihdellaan 30 kertaa/s.
2. Laske kuinka paljon voit kompressoida alla olevaa kuvamatriisia.
Alkuperäisen harmaasävykuvan esittämiseen tarvitaan 10*10*8 = 800
bittiä. Vihje: Useimmin esiintyville intensiteettiarvoille lyhyt koodisana.
Kompressiotekniikat
Informaation mittaaminen
• Jos base-2 logaritmi, niin informaation mittana on bitti
• Lähteen keskimääräinen
informaatio / lähteen output =
) ( ) log
( log 1 )
( P E
E E P
I
) ( log )
1 (
J
j P a j P a j
H
7.1.2009 Kuva- ja videosignaalinen käsittely / Kari Jyrkkä 16
Kompressiotekniikat
Tehtäviä (6.2.2009)
1. Lue annettu 2 sivuinen dokumentti LZW koodauksesta ja vastaa
seuraaviin kysymyksiin (vastaukset sähköpostilla kari.jyrkka@oamk.fi tämän päivän aikana.)
1. Mikä on LZW koodauksen ”avain” ominaisuus? (0.5 pistettä)
2. Selitä omin sanoin LZW koodauksen periaate, eli mihin häviötön kompressio menetelmässä perustuu. (0.5 pistettä)
3. Selitä omin sanoin, miksi LZW-koodauksen kompressiotehokkuus kärsii, jos koodikirjan kokoa kasvatetaan liian suureksi. (0.5 pistettä)
4. Tutustu LZW materiaalin esimerkkiin 8.7 ja yritä ymmärtää sen avulla LZW
koodauksen toiminta. Esimerkki esittää, miten 4x4 8-bittinen kuva koodataan
LZW kooderilla ja tuloksena on taulukon encoded output. Miten pystyt tuon
7.1.2009 Kuva- ja videosignaalinen käsittely / Kari Jyrkkä 18
Ratkaisut tehtäviin (6.2.2009)
1. Mikä on LZW koodauksen ”avain” ominaisuus? (0.5 pistettä)
Annetun dokumentin mukaan LZW koodille on ominaista se, että kooderin ei tarvitse etukäteen tietää, mikä on inputin symbolien todennäköisyysjakauma (kuten esim Huffman koodissa pitää tietää). Vaan kooderi rakentaa
koodatessaan taulukon, johon talletetaan kahden tai useamman symbolin toistuneet sekvenssit.
2. Selitä omin sanoin LZW koodauksen periaate, eli mihin häviötön kompressio menetelmässä perustuu. (0.5 pistettä)
Kompressio perustuu siihen, että esimerkiksi kaksi (tai useampi) 8-bittinen kuvapikselin intensiteetti esitetään yhdellä 9-bittisellä (tai pitemmälläkin) koodilla.
3. Selitä omin sanoin, miksi LZW-koodauksen kompressiotehokkuus kärsii, jos koodikirjan kokoa kasvatetaan liian suureksi. (0.5 pistettä)
Jos koodikirjan kokoa kasvatetaan liian suureksi, yhden koodisanan pituus kasvaa. Eli 512 paikkainen koodikirja tarvitsee 9 bittisen koodisanan ja 1024 paikkainen koodikirja tarvitsee jo 10 bittisen koodisanan. Jotta isosta
koodikirjasta olisi hyötyä, niin silloin input datasta pitää myös löytyä pitkiä
toistuvia sekvenssejä, jotka voitaisiin sitten esittää yhdellä 10 bittisellä.
Ratkaisut tehtäviin (6.2.2009)
Selitä vastauksessasi, miten dekooderi toimii. (1.5 pistettä)
Dekooderiin tulee symbolit 39,39,126,126,256,258.
- 1. symboli: otetaan 39 ja seuraava 39. Löytyykö koodikirjasta 39,39 jonoa. Ei löydy. Uusi koodi = 256=39,39.
Out(1)=39
- 2. symboli: otetaan 39 ja seuraava 126. Löytyykö koodikirjasta 39,126 jonoa. Ei löydy. Uusi koodi = 257=39,126.
Out(2)=39
- 3. symboli: otetaan 126 ja seuraava 126. Löytyykö koodikirjasta 126,126 jonoa. Ei löydy. Uusi koodi = 258 = 126,126. Out(3) = 126.
- 4. symboli: otetaan 126,256, mikä on itse asiassa 126,39,39. Löytyykö koodikirjasta 126,39 jonoa. Ei löydy. Uusi koodi = 259 = 126,39. Out(4) = 126.
- 5. symboli: otetaan 256, mikä on itseasiassa 39,39. Löytyykö koodikirjasta jonoa 39,39. Löytyy. Otetaan seuraava 258, mikä on itse asiassa 126,126. Löytyykö nyt koodikirjasta jonoa 39,39,126? Ei löydy. Uusi koodi =260 =
39,39,126. Out(5) = 39 ja Out(6) = 39.
7.1.2009 Kuva- ja videosignaalinen käsittely / Kari Jyrkkä 20
Ratkaisut tehtäviin (6.2.2009)
The input to the LZW decoding algorithm is 39 39 126 126 256 258 260 259 257 126
The starting dictionary, to be consistent with the coding itself, contains 512 locations - with the first 256 corresponding to gray level values 0 through 255. The decoding algorithm begins by getting the first encoded value, outputting the corresponding value from the dictionary, and setting the “recognized sequence” to the first value. For each additional encoded value, we (1) output the dictionary entry for the pixel value(s), (2) add a new dictionary entry whose content is the “recognized sequence” plus the first element of the encoded value being processed, and (3) set the “recognized sequence” to the encoded value being processed. For the encoded output in Example 8.12, the sequence of operations is:
Recognized / Encoded Value / Pixels / Dict. Address / Dict. Entry 39 39
39 39 39 256 39-39 39 126 126 257 39-126 126 126 126 258 126-126 126 256 39-39 259 126-39 256 258 126-126 260 39-39-126 258 260 39-39-126 261 126-126-39 260 259 126-39 262 39-39-126-126 259 257 39-126 263 126-39-39 257 126 126 264 39-126-126
Note, for example, in row 5 of the table that the new dictionary entry for location 259 is 126-39, the concatenation of the currently recognized sequence, 126, and the first element of the encoded value being processed - the 39 from the 39-39 entry in dictionary location 256. The output is then read from the third column of the table to yield
39 39 126 126 39 39 126 126 39 39 126 126 39 39 126 126
where it is assumed that the decoder knows or is given the size of the image that was received.
Note that the dictionary is generated as the decoding is carried out.