Digitaalinen media
Petri Vuorimaa
Luennon sisältö
• Mitä on digitaalinen media?
• Mediatyypit
– Teks;
– Grafiikka – Audio – Kuva – Video
• Siirtoformaa;t
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 2
Median osuus
2.3. Luento
• Jyry Suvilehto
30.3. Luento
• Petri Vuorimaa
23.3. Luento
• Tapio Takala
16.3. Luento
• Lauri Savioja
Teks;data (XML)
Yksinkertaiset mediatallenteet
(BMP)
Häviölliset tallenteet (.mp3, .jpeg)
Mul;media, video (MPEG,)
Tietokonegrafiikan perusteet
Todellisuuden peiVäminen (VR)
Todellisuuden lisääminen (AR) Tiedon
tallentamisen perusteet
AD-‐muunnos
Synteesiosuus
4
SemanZnen web ja avoin yhdisteVy ;eto Tiedon
talleVaminen
Tiedon verkoVuminen
Tietoverkko-‐
liiketoiminta Tiedonsiirto
Digitaalinen media
15.4. Luento Eero Hyvönen
6.5. Luento Sakari Luukkainen
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos
TuoVeiden ja palveluiden kehiVäminen
20.4. Luento Vesa Kantola
MITÄ ON DIGITAALINEN MEDIA?
Mitä on digitaalinen media?
• Tannenbaum:
• VuorovaikuVeinen ;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
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 6
Media
Jatkuva-‐aikainen media
• Animaa;ot (virtuaalitodellisuus)
• Audio
• Video
• Miten jatkuva-‐aikainen media eroaa tavallisesta mediasta?
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 8
Jatkuvan median käsiVelyvaiheet
Kaappaus Esi-‐
käsiVely A/D-‐
muunnos Pakkaus
Purku D/A-‐
muunnos Jälki-‐
käsiVely Toisto
Siirto
Vuorovaikutus
• Vuorovaikutustapa:
– passiivinen, reak;ivinen, proak;ivinen, tuoVava
• Vuorovaikutuksen taso:
– käyVöliiVymä, sovellus, palvelu, toinen käyVäjä
• Vuorovaikutuksen määrä:
– ;lausvideo, sähköpos;, videoneuvoVelu, videopeli, virtuaalitodellisuus
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 10
Aika
• Esityksen komponen;t on sijoiteltu aika-‐
avaruuteen
• Eri komponen;t on synkronoitu (eli tahdisteVu) keskenään
• Esitysjärjestelmä tms. huoleh;i, eVä
synkronoin; toteutuu (nk. orkestroin;)
TEKSTI
12
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos
Teks;
• ASCII
• Teks;dokumen;t
– Microsoe Word, Adobe Acrobat
• Rakenteiset dokumen;t
– SGML, HTML, XML
• Hyperteks;
– Hypercards
GRAFIIKKA
14
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos
Grafiikka
• BiZkarVa-‐grafiikka
– maalaukset
– Microsoe Paint
• Vektorigrafiikka
– piirrokset – OpenGL – Postscript
AUDIO
16
30.3.2012 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äyVeitä näytetaajuudella
• Näytetaajuuden pitää olla vähintään kaksi kertaa maksimitaajuus (nk. Nyquist taajuus)
• Yleisiä näytetaajuuksia 8, 44.1 ja 48 KHz
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 18
Pulssikoodimodulaa;o (jatk.)
• Signaalin amplitudi näyVeenoVohetkellä muutetaan
numeroarvoksi
– Pulse Code
Modula;on (PCM)
• NäyVeidenoVo aiheuVaa
kvan;soin;virheen
Taajuusmuunnos
• Luonnolliset äänet koostuvat ;etystä perustaajuudesta ja sen harmonisista monikerroista
• Ääni voidaan tällöin esiVää käteväs; myös taajuusmuodossa
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 20
Klarine;n ääni
Taajuusmuoto
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 22
Taajuusmuunnos (jatk.)
• Fourier muunnoksen kertomet esiVävät signaalia taajuus-‐uloVuvuudessa
• Sta;onaariset signaalit voidaan esiVää tarkas;
Fourier-‐muunnoksen avulla
• MuuVuvien signaalinen tapauksessa käytetään diskreeZä Fourier-‐muunnosta
• Yleensä käytetään Fast Fourier Transforma;on (FFT) -‐algoritmia
Psykoakus;ikka
• Kuuloais;n ominaisuudet kannaVaa huomioida äänen koodauksessa
• Ääntä kannaVaa tarkastella taajuusuloVuvuudessa
• Kuuloraja riippuu taajuudesta
• Korva on herkkä spektrin laaksoille ja kukkuloille (ns. forman;t)
– esim. vokaalien tunnistus
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 24
Kuuloraja
Psykoakus;ikka (jatk.)
• Tietylllä taajuudella esiintyvä ääni nostaa kuulorajaa
laajemmalla
taajuusalueella
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 26
Taajuus
Amplitudi
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
MP3-‐pakkausalgoritmi
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 28
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
nontransmiVed subbands
Quan;za;on of samples Coding of
samples Coding of bit alloca;on FormaZng and
transmission
End
KUVA
Kuvan ja videon koodaus
• Menetelmät voivat olla hukkaavia tai hukkaamaVomia
• Yleisin hukkaava menetelmä on DCT-‐muunnos
• Esim. Huffman koodaus on hukkaamaton
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 30
Koodausmenetelmät
• Kuvien koodaus
– JPEG (Joint Photographic Expert Group)
• Videon koodaus
– H.261, H.263
– MPEG (Mo;on Picture Expert Group)
• Koodausmenetelmät hyödyntävät yleensä useampi erilaisia koodaustekniikoita
JPEG -‐ TavoiVeet
• Kompressiosuhde / kuvanlaatu voidaan valita
• Sopii mihin tahansa kuviin
• Sekä ohjelmisto eVä laiVeisto
• 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)
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 32
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
• Progressiivisessa moodissa kertoimet
talletetaan muis;in ja lähetetään ryhmissä
• Hierarkisessa moodissa valitaan erilaisia resoluu;ota koodaVavaksi
Sekven;aalinen JPEG
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 34
Progressiivinen JPEG
Hierarkinen JPEG
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 36
Hukkaamaton JPEG
DCT-‐koodaus ja kvan;soin;
Kertoimet voidaan esiVää matriisina
Kvan;soin; tehdään kvan;soin;taulukon määräämän taulukon mukaises;
Kertoimet järjestetään Zig-‐Zag muotoon
Näin nolla-‐kertoimet saadaan koodin loppuun
Run-‐Length -‐koodaus eliminoi nollat
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 38
DCT-‐koodaus
DCT-‐perusfunk;ot
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 40
Tilastollinen koodaus
• Käytössä joko Huffman tai aritmeeZnen koodaus
• Huffman koodaus edellyVää erillistä taulukkoa
• AritmeeZnen koodaus ei tarvitse taulukkoa, muVa vaa;i enemmän laskentaa
• Lisäksi aritmeeZsen koodauksen kompressioaste 5 -‐ 10 % parempi
Hukkaamaton koodaus
• Hukkaamaton koodaus käyVää ennustusta
• Käytössä on seitsemän eri vaihtoehtoa
– kuinka monta ja mitä pikseliä käytetään
• Ennustava koodaus pääsee kompressiosuhteeseen 2:1
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 42
JPEG -‐ Tehokkuus
• 0,25 -‐ 0,5 bpp: kohtalainen -‐ hyvä laatu
• 0,5 -‐ 0,75 bpp: hyvä -‐ eriVäin hyvä laatu
• 0,75 -‐ 1,5 bpp: eriVäin hyvä laatu
• 1,5 -‐ 2,00 bpp: ei erotu alkuperäisestä
VIDEO
44
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos
MPEG
• MuistuVaa 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 laiVeistototeutusta
Liikkeenennustus
• Peräkkäisistä kuvista etsitään muutoskohdat
• Lohkoille lasketaan liike-‐ennusteet
• Ennusteita kutsutaan liikevektoreiksi ja ne lähetetään osana koodaVua informaa;ota
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 46
Erotuskuvat
Ennustetusta ja todellisesta kuvasta lasketaan erotuskuvat
Erotuskuvasta lähetetään vain muutoskohdat
MPEG-menetelmässä hyödynntetään myös ennustusta kahteen suuntaan:
- I = alkuperäiset kuvat
- P = eteenpäin ennustus
- B = ennustus kahteensuuntaan
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 48
MPEG-‐kuvasarja
SIIRTOFORMAATIT
50
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos
Siirtoformaa;t
• Mul;mediasovellusten yhteistoiminta ja siirto verkossa vaa;i yhtenäisiä siirtoformaaVeja
• SiirtoformaaZ määriVelee:
– ajan, paikan, rakenteen ja toiminnan (proseduurit)
• Ilman siirtoformaaZa yhdellä sovelluksella tuoteVua sisältöä ei voi lukea ja käyVää
toisella sovelluksella
• Konversiotyökalut on huono ratkaisu
Sovellusalueet
• Yhtenäistä siirtoformaaZa voidaan käyVää moneen tarkoitukseen:
– tallennusformaaZ (esim. Macromedia Director) – siirtoformaaZ (esim. CD-‐ROM)
– reaaliaikainen siirtoformaaZ (esim. digitaalinen tv)
– sovellusten välinen ;edonsiirto (esim. ryhmätyö)
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 52
Vaa;mukset
Datamalli:
- aika, synkronoin;, eri formaa;t, osoitus, hyperlinkit,
interak;ivisuus
Skrip;t:
- ohjelmoin;kieli tai graafinen ohjelmoin;
KapasiteeZ:
- määriVely ei yleensä vie paljon ;laa
Hakuaika:
- purku oltava nopeaa, progressiivinen
resoluu;o ym.
SiirreVävyys:
- laiVeisto-‐ ja
alustariippumaVomuus
LaajenneVavuus:
- uudet formaa;t, atribuu;t jne.
MHEG
• ISO:n työryhmä
• Oliopohjainen mul;-‐ ja hypermedian siirtoformaaZ
• Tukee interak;ivisuuVa ja reaaliaikaista siirtoa
• MääriVelee lopullisen esitysmuodon
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 54
Ominaisuudet
• MääriVelee joukon alustariippumaVomia komponenVeja interak;ivisuuVa varten
• Interak;ivuus voidaan toteuVaa kahdella tapaa:
– komponen;t linkitetään erilaisiin tapahtumiin – käytetään skriptauskieltä
• Tapahtumat syntyvät ajoitusmäärityksistä tai käyVäjän toimenpiteistä
Ominaisuudet (jatk.)
• Sekä paikallisen eVä ajallisen sijainnin määriVely mahdollista
• Makrojen avulla voidaan määritellä
monimutkaisia objekteja malleja käyVäen
• Sisältää myös tukea reaaliaikaista siirtoa varten
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 56
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 siirtoformaaZ
• Ominaisuudet ovat rajallisia
• HTML = rakenteinen dokumenZ, linkit
– DOM-‐malli mahdollistaa sisällön muokkauksen
• ECMAScript (JavaScript) = interak;ivisuus
• Tyylisivut (Cascading Style Sheets) = sijoiVelu
• Synkronoin; puuVuu
– SMIL 3.0 External Timing Module
30.3.2012 Petri Vuorimaa / Mediatekniikan laitos 58