Mul$media
Jyry Suvilehto
Alkuperäiset kalvot Petri Vuorimaa
Luennon sisältö
• Mitä on mul$media?
• Mediatyypit
– Teks$
– Grafiikka – Audio
– Kuva – Video
• Siirtoformaa$t
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 2
MITÄ ON MULTIMEDIA?
Mitä on mul$media?
• Tannenbaum:
• VuorovaikuLeinen $etokoneavusteinen esitys, joka sisältää vähintään kaksi seuraavista
mediaelementeistä: teks$, ääni, kuva, video ja animaa$o
• Vuorimaa:
1. Monta mediaa 2. Vuorovaikutus 3. Aika
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 4
Media
Media Modaliteetti Dynaamisuus Lähde
Teksti Visuaalinen Kerta Keinotekoinen
Kuva Visuaalinen Kerta Luonnollinen
Grafiikka Visuaalinen Kerta Keinotekoinen
Animaatio Visuaalinen Jatkuva Keinotekoinen
Ääni Auraalinen Jatkuva Luonnollinen/
Keinotekoinen
Video Visuaalinen Jatkuva Luonnollinen
Jatkuva-‐aikainen media
• Animaa$ot (virtuaalitodellisuus)
• Audio
• Video
• Miten jatkuva-‐aikainen media eroaa tavallisesta mediasta?
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 6
Jatkuvan median käsiLelyvaiheet
Kaappaus Esi-‐
käsiLely A/D-‐
muunnos Pakkaus
Purku D/A-‐
muunnos Jälki-‐
käsiLely Toisto
Siirto
Tietokone/soi$n Digitaalinen videokamera
KäsiLelyvaiheet
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 8
Kaappaus Esi-‐
käsiLely A/D-‐
muunnos Pakkaus
Purku D/A-‐
muunnos Jälki-‐
käsiLely Toisto
Siirto
Uudelleenmasteroitu CD
Kaappaus
Esi-‐
käsiLely A/D-‐
muunnos Pakkaus
Kaappaus
Kaappaus
Beatles soiLaa 60-‐
luvulla originaalit musiikkinauhalle
Levy-‐yh$ö pyytää 2009 tyypin yhdistämään nauhat uudestan re-‐mastering
YhdisteLy kappale
digitoidaan ja pakataan CD-‐DA-‐formaa^in ja poltetaan levylle
Vuorovaikutus
• Vuorovaikutustapa:
– passiivinen, reak$ivinen, proak$ivinen, tuoLava
• Vuorovaikutuksen taso:
– käyLöliiLymä, sovellus, palvelu, toinen käyLäjä
• Vuorovaikutuksen määrä:
– $lausvideo, sähköpos$, videoneuvoLelu, videopeli, virtuaalitodellisuus
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 10
Aika
• Esityksen komponen$t on sijoiteltu aika-‐
avaruuteen
• Eri komponen$t on synkronoitu (eli
tahdisteLu) keskenään
• Esitysjärjestelmä tms.
huoleh$i, eLä
synkronoin$ toteutuu (nk. orkestroin$)
TEKSTI
12
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos
Teks$
• ASCII
• Teks$dokumen$t
– Microsoa Word, Adobe Acrobat
• Rakenteiset dokumen$t
– SGML, HTML, XML
• Hyperteks$
GRAFIIKKA
14
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos
Grafiikka
• Bi^karLa-‐grafiikka
– maalaukset
– Microsoa Paint
• Vektorigrafiikka
– piirrokset – OpenGL – Postscript
AUDIO
16
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos
Äänen fyysiset ominaisuudet
• Amplitudi
– dB = 20 log10(A/B) – Kuuloraja on 0 dB ja
kipuraja n. 100-‐120 dB
• Jakson aika / Taajuus
– Hz = 1/s
– Kuuloalue on n. 20 Hz -‐ 20 kHz
Pulssikoodimodulaa$o
• Äänestä otetaan näyLeitä näytetaajuudella
• Näytetaajuuden pitää olla vähintään kaksi kertaa maksimitaajuus (nk. Nyquist taajuus)
• Yleisiä näytetaajuuksia 8, 44.1 ja 48 KHz
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 18
Pulssikoodimodulaa$o (jatk.)
• Signaalin amplitudi näyLeenoLohetkellä muutetaan
numeroarvoksi
– Pulse Code
Modula$on (PCM)
• NäyLeidenoLo aiheuLaa
kvan$soin$virheen
Taajuusmuunnos
• Luonnolliset äänet koostuvat $etystä perustaajuudesta ja sen harmonisista monikerroista
• Ääni voidaan tällöin esiLää käteväs$ myös taajuusmuodossa
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 20
Klarine$n ääni
Taajuusmuoto
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 22
Taajuusmuunnos (jatk.)
• Fourier muunnoksen kertomet esiLävät signaalia taajuus-‐uloLuvuudessa
• Sta$onaariset signaalit voidaan esiLää tarkas$
Fourier-‐muunnoksen avulla
• MuuLuvien signaalinen tapauksessa
käytetään diskree^ä Fourier-‐muunnosta
• Yleensä käytetään Fast Fourier Transforma$on (FFT) –algoritmia
– Normaali Fourier-‐muunnos O(n^2), FFT O(n log n)
Psykoakus$ikka
• Kuuloais$n ominaisuudet kannaLaa huomioida äänen koodauksessa
• Ääntä kannaLaa tarkastella taajuusuloLuvuudessa
• Kuuloraja riippuu taajuudesta
• Korva on herkkä spektrin laaksoille ja kukkuloille (ns. forman$t)
– esim. vokaalien tunnistus
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 24
Kuuloraja
Psykoakus$ikka (jatk.)
• Tietylllä taajuudella esiintyvä ääni nostaa kuulorajaa
laajemmalla
taajuusalueella
• Voimakkaampi ääni
“peiLää” heikomman
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 26
Taajuus
Amplitudi
PeiLoilmiö
(masking effect)• Korvan simpukka (cochlea) sisältää ais$nsoluja
• Lähellä olevia taajuuksia ais$vat solut ovat
lähellä toisiaan
• Vastaava ilmiö ajassa läheisille äänille syntyy syvempänä
keskushermostossa
Pakkausmenetelmät
• Esim. maskaus-‐efek$ä voidaan hyödyntää koodauksessa
• Signaali jaetaan taajuusalueisiin, jotka koodataan erikseen (Subband coding)
• Esim. Mini Disc -‐levyt (Sony), DCC-‐kase$t (Philips) ja MPEG-‐audio
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 28
MP3-‐pakkausalgoritmi
Begin
Subband analysis Scale factor
calcula$on
Coding of scale factors
FFT analysis Calcula$on of masking and required
bit alloca$on
Adjustment to fixed bit-‐rate Determina$on of
nontransmiLed subbands
Quan$za$on of samples Coding of
samples Coding of bit alloca$on Forma^ng and
transmission
End
KUVA
30
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos
Kuvan ja videon koodaus
• Menetelmät voivat olla hukkaavia tai hukkaamaLomia
• Yleisin hukkaava menetelmä on DCT-‐muunnos
• Esim. Huffman koodaus on hukkaamaton
Koodausmenetelmät
• Kuvien koodaus
– JPEG (Joint Photographic Expert Group)
• Videon koodaus
– H.261, H.263, H.264
– MPEG (Mo$on Picture Expert Group)
• Koodausmenetelmät hyödyntävät yleensä useampi erilaisia koodaustekniikoita
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 32
JPEG -‐ TavoiLeet
• Kompressiosuhde / kuvanlaatu voidaan valita
• Sopii mihin tahansa kuviin
• Sekä ohjelmisto eLä laiLeisto
• Neljä eri moodia:
– sekven$aalinen koodaus (alkuperäinen järjestys) – progressiivien koodaus (monivaiheinen koodaus) – hukkaamaton koodaus (täydellinen toisto)
– hierarkinen koodaus (monta eri resoluu$ota)
Kuvanlaadun valinta
4,3 kilotavua 190 kilotavua
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 34
JPEG -‐ Arkkitehtuurit
• Hukkaavissa moodeissa käytetään DCT-‐koodausta 8 x 8 pikselin lohkoille
• Sekven$aalisessa moodissa lohkojen DCT-‐
kertoimet lähetään lohko kerrallaan
– Kuva latautuu “rivi riviltä” (8x8 pikselin pala kerrallaan)
• Progressiivisessa moodissa kertoimet talletetaan muis$in ja lähetetään ryhmissä
– Kuva tarkentuu pikkuhiljaa lopulliseksi
• Hierarkisessa moodissa valitaan erilaisia resoluu$ota koodaLavaksi
– Ensin pieni kuva, siLen isompi kuva, …, lopullinen
Sekven$aalinen JPEG
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 36
Progressiivinen JPEG
Hierarkinen JPEG
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 38
Hukkaamaton JPEG
DCT-‐koodaus ja kvan$soin$
l Kertoimet voidaan esiLää matriisina
l Kvan$soin$ tehdään kvan$soin$taulukon määräämän taulukon mukaises$
l Kertoimet luetaan Zig-‐Zag -‐järjestyksessä
l Näin nolla-‐kertoimet saadaan koodin loppuun
l Run-‐Length -‐koodaus eliminoi nollat
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 40
DCT-‐koodaus
DCT-‐perusfunk$ot
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 42
Tilastollinen koodaus
• Käytössä joko Huffman tai aritmee^nen koodaus
• Huffman koodaus edellyLää erillistä taulukkoa
• Aritmee^nen koodaus ei tarvitse taulukkoa, muLa vaa$i enemmän laskentaa
• Lisäksi aritmee^sen koodauksen kompressioaste 5 -‐ 10 % parempi
Hukkaamaton koodaus
• Hukkaamaton koodaus käyLää ennustusta
• Käytössä on seitsemän eri vaihtoehtoa
– kuinka monta ja mitä pikseliä käytetään
• Ennustava koodaus pääsee kompressiosuhteeseen 2:1
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 44
JPEG -‐ Tehokkuus
• 0,25 -‐ 0,5 bpp: kohtalainen -‐ hyvä laatu
• 0,5 -‐ 0,75 bpp: hyvä -‐ eriLäin hyvä laatu
• 0,75 -‐ 1,5 bpp: eriLäin hyvä laatu
• 1,5 -‐ 2,00 bpp: ei erotu alkuperäisestä
VIDEO
46
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos
MPEG
• MuistuLaa JPEG-‐menetelmää
• Lisäksi huomioitu liikkuvan kuvan ominaisuudet
– Peräkkäisissä kuvissa on vähän eroja – Kuvissa on liikkuvia objekteja
– Kuvasarjat vaihtuvat harvoin
• Toteutus on tämän takia monimutkaisempi
• Usein tarvitaan laiLeistototeutusta
Liikkeenennustus
• Peräkkäisistä kuvista etsitään muutoskohdat
• Lohkoille lasketaan liike-‐ennusteet
• Ennusteita kutsutaan liikevektoreiksi ja ne lähetetään osana koodaLua informaa$ota
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 48
Erotuskuvat
l Ennustetusta ja todellisesta kuvasta lasketaan erotuskuvat
l Erotuskuvasta lähetetään vain muutoskohdat
l MPEG-menetelmässä hyödynntetään myös ennustusta kahteen suuntaan:
- I = alkuperäiset kuvat
- P = eteenpäin ennustus
- B = ennustus kahteensuuntaan
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 50
MPEG-‐kuvasarja
SIIRTOFORMAATIT
52
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos
Siirtoformaa$t
• Mul$mediasovellusten yhteistoiminta ja siirto verkossa vaa$i yhtenäisiä siirtoformaaLeja
• Siirtoformaa^ määriLelee:
– ajan, paikan, rakenteen ja toiminnan (proseduurit)
• Ilman siirtoformaa^a yhdellä sovelluksella tuoteLua sisältöä ei voi lukea ja käyLää
toisella sovelluksella
• Konversiotyökalut on huono ratkaisu
Sovellusalueet
• Yhtenäistä siirtoformaa^a voidaan käyLää moneen tarkoitukseen:
– tallennusformaa^ (esim. Macromedia Director) – siirtoformaa^ (esim. CD-‐ROM)
– reaaliaikainen siirtoformaa^ (esim. digitaalinen tv)
– sovellusten välinen $edonsiirto (esim. ryhmätyö)
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 54
Vaa$mukset
l Datamalli:
- aika, synkronoin$, eri formaa$t, osoitus, hyperlinkit,
interak$ivisuus
l Skrip$t:
- ohjelmoin$kieli tai graafinen ohjelmoin$
l Kapasitee^:
- määriLely ei yleensä vie paljon $laa
l Hakuaika:
- purku oltava nopeaa, progressiivinen
resoluu$o ym.
l SiirreLävyys:
- laiLeisto-‐ ja
alustariippumaLomuus
l LaajenneLavuus:
- uudet formaa$t, atribuu$t jne.
MHEG
• ISO:n työryhmä
• Oliopohjainen mul$-‐ ja hypermedian siirtoformaa^
• Tukee interak$ivisuuLa ja reaaliaikaista siirtoa
• MääriLelee lopullisen esitysmuodon
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 56
Ominaisuudet
• MääriLelee joukon alustariippumaLomia komponenLeja interak$ivisuuLa varten
• Interak$ivuus voidaan toteuLaa kahdella tapaa:
– komponen$t linkitetään erilaisiin tapahtumiin – käytetään skriptauskieltä
• Tapahtumat syntyvät ajoitusmäärityksistä tai käyLäjän toimenpiteistä
Ominaisuudet (jatk.)
• Sekä paikallisen eLä ajallisen sijainnin määriLely mahdollista
• Makrojen avulla voidaan määritellä
monimutkaisia objekteja malleja käyLäen
• Sisältää myös tukea reaaliaikaista siirtoa varten
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 58
MHEG-‐luokkahierarkia
MH-‐object Behavior
Ac$on
Link
Script
Component
Content
Interac$on
Selec$on
Modifica$on
Composite
Descriptor Macro
Macro Defini$on
Macro Use
HTML
• HTML on myös siirtoformaa^
• Ominaisuudet ovat rajallisia
• HTML = rakenteinen dokumen^, linkit
– DOM-‐malli mahdollistaa sisällön muokkauksen
• ECMAScript (JavaScript) = interak$ivisuus
• Tyylisivut (Cascading Style Sheets) = sijoiLelu
• Synkronoin$ puuLuu
– SMIL 3.0 External Timing Module
19.3.2010 Petri Vuorimaa / Mediatekniikan laitos 60