1 Základy Multimediálních Technologií Výukové texty Ing Miroslav Fribert Dr.2 Obsah 1. Úvod do multimédií 2. Technologie a prostředky 3. 3D grafika 4...
Obsah 1. Úvod do multimédií 2. Technologie a prostředky 3. 3D grafika 4. Zpracování videa 5. Zpracování animací 6. Zpracování zvuku 7. Integrace médií do MM aplikace 8. Interaktivita v multimediálních aplikacích 9. Multimédia a komunikační sítě 10. Cross-Media publikování
2
1. Úvod do multimédií Základní pojmy Média – základní informační komponenty ve formě textů, statických obrazů, hypertextu, zvuku, videa a animací. Kombinovaná média - produkty, které kombinují dvě nebo více základních médií v analogové formě (video, zvuk, text). Příkladem mohou být televizní zprávy, které kombinují zvuk, statické obrazy, grafické ilustrace a pohyblivé obrazy. Dále klasický film, který kombinuje video, zvuk, případně text. Multimédia - produkty, které kombinují dvě nebo více základních médií v digitální formě (texty, statické obrazy, grafiku, animace, zvuk a video). Používá se také název digitální multimédia. Doplňující vlastností je interaktivita uživatele, která ovlivňuje způsob přehrávání a možnost prezentace na různých výstupních zařízeních. Hypermédia – stránkově orientované MM produkty, které obsahují hypertextové objekty ve spojení s ostatními médii v nich obsaženými. Multimediální systém – počítačový a komunikační systém, který zajišťuje produkci MM produktů a jejich přenos k uživateli. Patří sem výkonné pracovní stanice, velkokapacitní paměťová zařízení a rychlé počítačové sítě. Z oblasti software sem patří moderní programové prostředky pro zpracování textu a obrazu, videa, zvuku a řeči. Autorský systém – program pro integraci různých médií do MM publikace. Jsou určeny autorům MM aplikací. Příkladem mohou být Multimedia ToolBook, Macromedia Director, Macromedia Flash, Adobe GoLive, Adobe DreamWeaver a další. Multimediální aplikace – různé druhy MM produktů v konkrétních oborech. Jedná se například o MM poštovní systémy, MM konference, MM reklamní prezentace, MM výukové prezentace, MM encyklopedie, MM informační systémy, MM hry. Multimediální prezentace – konkrétní druh MM aplikace, používá se především v reklamě, marketingu a pro výukové účely. Datový tok (Data rate) – rychlost s jakou MM data proudí od jednoho zařízení k druhému, aby byl zajištěn přenos pro přehrávání v reálném čase s přijatelnou kvalitou. Jednotkami jsou kBps, MBps. Šířka pásma datového kanálu (Bandwidth) – maximální datový tok, který může kanál přenášet. Souvisí úzce se skutečným parametrem frekvenční šířky pásma. Streaming – zjednodušeně řečeno jde o technologický postup, při němž je obsah MM produktu doručován z distribučního místa ke klientovi v reálném čase. Dochází tak k přehrávání, i když není celý obsah ještě uložen v paměti klienta. V našem případě je obsahem myšlen datový proud – stream obrazu a zvuku.
Historický kontext Poté, co se v polovině 70. let ceny osobních počítačů PC přiblížily finančním možnostem běžných spotřebitelů, digitální zpracování informací se postupně rozšířilo. Jak se postupem času stávala výpočetní technika stále výkonnější, nabízela se kromě původního zpracování textů též možnost digitálního zpracování statické grafiky. Dalším krokem v postupu integrace různých médií byla digitalizace jednotlivých videosnímků a hudby. Nasazení pohyblivých obrázků v počítačových aplikacích se předtím omezovalo pouze na vytváření trikových filmů a animace. Digitální video, a hudba mohly být tak kombinovány s textovou a grafickou informací a společně produkovány. 3
Pro rozvoj současných multimédií měl velký význam klasický film. Před jeho etablováním do role digitálního média bylo však potřeba, aby se filmové kamery změnily na videokamery s takovými vlastnostmi, které po zpracování umožňují prezentaci filmů jako datových souborů. Prioritním cílem se stala možnost uchovávání různých druhů dat, především audia a videa. Tohoto cíle mohlo být dosaženo v případě, že veškerá data jsou k dispozici v digitální formě. Díky enormnímu množství dat vytvářených digitalizací audia a videa se vyskytla potřeba komponent, které buď urychlí práci počítače, nebo zredukují množství zpracovávaných dat. Různé technologie např. DVI (Digital Video Interactive) od IBM a Intelu nebo CD-I (Compact Disc - Interactive) od firem Philips, Sony a Matsushita nabízejí možnost uchovávání a opakované vyvolání grafických, zvukových a video informací. K uchovávání enormních množství dat byly vyvinuty kompresní metody, které redukují uchovávaný objem dat na zlomek původního množství. Při jejich přehrávání se používají odpovídající dekompresní metody, které uložená komprimovaná data průběžně uvádějí do původního stavu. Ve srovnání s kombinovanými médii jsou multimédia ještě na počátku svého vývoje. Možnost záznamu MM produkce na CD-ROM, CD-RW a DVD nosiče přinesla enormní zvýšení požadavků na výkonnost stolních počítačů, což počítačový průmysl rychle akceptoval. Možnost prezentace zvuku a videa se na Internetu objevila až v roce 1997, po přijetí specifikace HTML 3.2. To zase vedlo k vývoji metod proudového (streaming) přenosu a přehrávání videa a zvuku. Současná multimediální produkty ještě přebírají formu dřívějších médií. Příkladem mohou být MM encyklopedie, která mají stejnou formu, jako jejich tištěné ekvivalenty. Elektronické manuály se od svých tištěných předchůdců liší jen v lepších možnostech vyhledávání. Poslední filmové produkty však ukazují, že je možné se od těchto forem významně odlišit především používáním 2D i 3D animací a také aplikací interaktivity. Další vývoj ukáže, jakým směrem se MM produkce bude dále vyvíjet. V následující tabulce jsou prezentovány vlastnosti tří původních generací MM systémů.
4
Podívejme se, co se změnilo do r. 2007 v posledním sloupci 3. generace. Především jsou to parametry počítačových platforem. Následuje sestava MM počítače SonicVision Multimedia, srovnání parametrů s 3. generací 1995/96 je velmi výmluvné. Navíc přibyla mechanika optického DVD disku s kapacitou cca 4.7 GB a integrovaný TV tuner. Na ostatních platformách (Apple, SGI) jsou změny obdobné. Procesor INTEL Core 2 Duo E6600 2,4GHz/4MB/1066MHz Pevný disk 2x WD Caviar 400.0 GB SATAII/16MB Operační paměť KINGSTON 2GB 667MHz DDR2 Optická mechanika LG DVD±RW GSA-H20LRB DUAL LAYER 16x, LIGHTSCRIBE (možnost vypalovat obrázky, popisy přímo do media) + SW Nero Express 6 OEM Grafická karta ATI RADEON X1600Pro silent2 256MB DDR2, DVI TV tuner Hauppauge Win TV HVR-1300, Analog nebo Digital (DVB-T) TV, timeshifting, FM, stereo, teletext Síťová karta Integrované Síťové rozhraní Intel® PRO 10/100/1000 Zvuková karta Creative Sound Blaster 7.1 (DD 5.1, DTS, DTS-ES) +Intel® High Definition Audio 5.1 Klávesnice + Myš Bezdrátová sada LOGITECH Software Microsoft OEM Windows XP Media Center CZ Dále se podstatným způsobem zvýšila propustnost počítačových sítí LAN (1000 Mbps) a rozlehlých sítí (ATM technologie, ADSL). To umožňuje používání streaming technologie on-line přenosu a přehrávání MM produktů. Rozvíjely se také kompresní metody především pro video a zvuk, což umožňuje streaming přehrávání s menšími datovými toky při dostatečné kvalitě. Významného pokroku bylo také dosaženo u parametrů videokaret. Kromě větších obrazových pamětí obsahují videokarty hardwarové prostředky pro zpracování grafiky – grafické procesory, především pro rendrování 3D scén (Z-buffer algoritmus, vícenásobná aplikace textur aj.).
Základní komponenty multimédií Text – zpracovává se v textových editorech (Microsoft Word, Win602, Sun StarOffice) a následně v programech sazby (QuarkXpress, Adobe InDesign, Corel Ventura) Hypertext – text opatřený vazbami na jiné dokumenty (nejen textové) nebo jejich části za účelem rychlého přístupu k informacím způsobem podobným křížovým odkazům v tištěných publikacích (editory HTML, Adobe Acrobat, sazbové programy) Statické obrazy – zpracování vektorové a rastrové grafiky v grafických editorech (Adobe Illustrator, Corel Draw, Adobe Photoshop, Adobe Painter) Zvuk – digitální zpracování a přenos zvukové informace (Adobe Audition, Audacity, Adobe Premiere) a integrace do MM aplikace v autorských systémech (Macromedia Director, Macromedia Flash)
5
Video – zpracování v systémech pro střih videa (Adobe Premiere, After Effects) a integrace do MM aplikace v autorských systémech (Macromedia Director, Macromedia Flash) Animace – speciální případ videa, kdy se statickým obrázkům přidávají chování pohybu, nebo změny některých jiných vlastností (tvar, jas, průhlednost). Zpracovávají se většinou v autorských systémech (Macromedia Director, Macromedia Flash, 3D StudioMax).
Multimediální produkce Vytváření MM aplikací vyžaduje přípravu nejen jednotlivých mediálních komponent, ale také jejich integraci do konečného produktu. V dalším textu je zhruba popsán celý proces vytváření MM aplikace. Na tvorbě kvalitní MM produkce se podílí více profesí, které tvoří společný realizační tým. Je třeba připravit texty, obrázky, nasnímat filmy, popřípadě vytvořit zvukový doprovod. Již zdaleka nestačí jen programátoři a projektanti. Tento druh aplikací vyžaduje stále více především výtvarný cit a profesionální přípravu jednotlivých médií. Velmi snadno se totiž pozná amatérské zpracování videa, fotografií, neznalosti výtvarného citu při skládání barev či výběru fontů písma. Programátoři jakoby v tomto směru ustoupili do pozadí, i když i zde plní důležitou podpůrnou, řekněme technologickou, roli. Stále je potřeba doplňovat funkční nedostatky profesionálních autorských systémů, vytvářet podpůrné procedury, programově zajistit vazby aplikace na knihovny, systémové prostředí, atd. To všechno však neznamená, že by uživatelé PC - neprofesionálové nemohli vytvářet multimediální publikace. Dále je uveden souhrn několika základních rad, které mohou být užitečné během tvorby, především při realizaci konkrétní MM aplikace. Celý proces vytváření prochází určitými fázemi vývoje, které by se měly respektovat. 1. Příprava Obsah aplikace Je nutné ujasnit, co od aplikace očekáváme, jaké chceme splnit cíle a co by tedy mělo být jejím obsahem. Obsah je totiž určen nejen jejím cílem a informacemi, které má sdělit, ale také nároky publika, tedy těmi, komu je prezentace určena. Z odpovědí na tyto otázky můžeme přesně určit, jaká média budeme pro aplikaci potřebovat. Druh používaných médií nepřímo určí i HW a SW podmínky pro tvorbu aplikace. S vyššími nároky na kvalitu aplikace je třeba počítat s většími nároky na HW a SW. Předem si musíme uvědomit, že každá zvuková nahrávka či video klip vyžaduje velký prostor na disku. Ještě před výběrem médií je třeba určit, kam budeme prezentaci či jednotlivá média ukládat, kolik máme volného prostoru na disku. Paměťový prostor velmi omezuje naše možnosti při tvorbě. Scénář aplikace Obsah aplikace rozepíšeme na jednotlivé scény, u kterých uvedeme jejich obsah s přesným určením podílu jednotlivých médií. Je to obdobné, jako bychom psali scénář filmu. Pro každou scénu tedy určíme text, obrázky, zvuk, video a čas, kdy se objevují na scéně.
6
2. Tvorba jednotlivých médií Na základě podrobného scénáře lze již připravit jednotlivé obrázky, animační scény, texty, natočit videoklipy, atd. Budeme se snažit o dokonale připravená zdrojová média. I zde budeme velmi ovlivněni možnostmi technických prostředků. Je velmi důležité, zda vytváříme prezentaci pro svůj počítač, nebo pro zákazníka. Tomu je pak nutné přizpůsobit podmínky tvorby. Při přípravě rastrové grafiky musíme počítat s minimální paletou 256 barev, pro začátečníky se doporučuje pracovat spíše s černobílým provedením. Barva totiž potřebuje určitou zkušenost. Rozlišení obrázku musí odpovídat možnostem grafické karty, se kterou bude prezentace promítána. 3. Tvorba aplikace Proces editování a propojování jednotlivých médií do konečných scén má velmi tvůrčí podstatu. Záleží na prostředí, pro které jsme se rozhodli. Způsob naší práce bude nutně ovlivněn vybraným autorským systémem či prezentačním programem. Není vhodné používat příliš mnoha přechodových efektů mezi jednotlivými scénami, mohli bychom snížit pozornost publika. Příliš mnoho efektů prezentaci naopak ruší. Je-li scéna doprovázena zvukovým doprovodem, je třeba plynule navazovat jednotlivé hudební sekvence nebo i mluvené slovo na hudbu. Toho dosáhneme efektem fading, používaný pro postupné vytrácení či zesilování zvuku. 4. Interpretace aplikace Pro vlastní průběh interpretce je velmi důležitá kvalita zobrazovacího zařízení - displej, projektor s LCD panelem, televizor, atd. Kvalitní vytvořená aplikace může být velmi znehodnocena špatnou kvalitou výstupního zařízení. To se týká především rozlišovací schopnosti výstupního zařízení, kalibrace barev, rychlosti zobrazování, které je velmi důležité pro prezentaci s animací či videem, atd. Pro prezentování aplikace promítáním na plátno je nutno testovat částečně vytvořenou aplikaci v dostatečném časovém předstihu v podmínkách, ve kterých bude probíhat finální interpretace. To znamená vyzkoušet předem například ozvučení sálu a zatemnění, zda budou vyhovovat našim požadavkům. Je třeba dobře zvolit vhodný projektor a typ plátna. Zde je nutné poradit se s odbornou firmou, která se zabývá projekční technikou, a zkonzultovat možnosti. Dostatečný časový předstih umožní zkorigovat či změnit barvy, neboť to, co na obrazovce vypadá velmi pěkně a zajímavě, může na promítané stěně působit vybledle či v úplně jiných barvách.
7
2. Technologie a prostředky 2.1 Digitální reprezentace MM dat Zpracování médií pro multimédia se dnes provádí prakticky výhradně číslicovým způsobem. Signály, které přenášejí data, tedy i mediální data, dělíme na analogové, diskrétní a digitální (číslicové). Analogové signály jsou spojité v hodnotě nezávisle proměnné (čas, prostorové souřadnice) i v hodnotě závisle proměnné (napětí, proud, barva v obraze). Diskrétní signály jsou diskrétní (nespojité) v čase, jsou definovány jen v určitých časových okamžicích, mimo ně jsou jejich hodnoty rovny nule. V hodnotě závisle proměnné jsou spojité, nabývají hodnot z oboru reálných čísel.
Digitální signál je diskrétní v hodnotě nezávisle proměnné (je definován jen v určitých časových okamžicích) i v hodnotě závisle proměnné, kdy jsou mu přiřazeny hodnoty z konečného intervalu celých čísel (např. 0-255). Tzv. schodovitá funkce je modifikací diskrétních hodnot, kdy jsou jednotlivé vzorky diskrétní hodnoty prodlouženy v čase na dobu vzorkovacího intervalu, tedy do následujícího vzorku. Jednobitový digitální signál
V čase jsou diskrétní hodnoty definovány obvykle po stejných časových intervalech, v amplitudě je definován konečný soubor celých čísel, kterých může digitální veličina nabývat. Pokud uvažujeme dvojkovou číselnou soustavu, potom pro jednobitový signál jsou to dvě hodnoty (0,1), pro dvoubitový signál to jsou 4 hodnoty (00,01,10,11), pro osmibitový signál je to 256 hodnot (00000000,00000001, …….. 11111111). Při digitalizaci vzniká chyba, která je tím menší, čím je počet bitů digitální veličiny větší. Číslicové signály získáváme většinou převodem pomocí převodníků z analogových signálů. Převod se uskutečňuje operacemi vzorkování a kvantování. Vzorkování Libovolný analogový signál má šířku frekvenčního spektra (získaného např. Fourierovou transformací) ohraničenou nejmenší frekvencí fd a nevyšší frekvencí fh (bývají obvykle 8
vymezeny filtrem). Každý takový signál může být nahrazen hodnotami vzorků nasnímaných v určitých časových intervalech. Pro periodu těchto vzorků platí vztah 1 TV ≤ 2 fh
kde fh je horní hraniční frekvence spektra. Takto získaný diskrétní signál představuje časovou posloupnost impulsů s vzorkovací frekvencí fv > 2fh a amplitudou rovnou hodnotě analogové funkce x(t) v intervalech vzorkování. Ideální vzorkování je případ, kdy šířka vzorkovacího impulsu δ → 0. Tuto vlastnost splňuje Diracova funkce a je tedy ideálním vzorkovacím signálem. Používá se pro potřeby teoretického vzorkování. V praktickém zpracování signálů je šířka vzorkovacích impulsů konečná.
Vzorkování se provádí pomocí různých zapojení, většinou však pomocí vzorkovače s pamětí (sample-hold), jehož principiální schéma je na následujícím obrázku.
Řídicí napětí UR je nejčastěji tvořeno periodickou posloupností krátkých obdélníkových impulzů, které spínají spínač S. Předchozí navzorkovaná hodnota zůstává konstantní až do příchodu dalšího vzorkovacího impulzu díky přítomnosti kondenzátoru C. Výstupní napětí ze vzorkovače je pak tzv. schodovitá funkce, která je vhodná pro další operaci kvantování v AD převodníku. Pro přenos vzorkovaného signálu přes přenosový kanál má význam šířka jeho spektra, protože pro nezkreslený přenos dat musí šířce spektra odpovídat i šířka pásma přenosového kanálu. Zvyšování vzorkovací frekvence fv a zmenšováním šířky δ vzorkovacího impulzu se zvětšuje šířka spektra a tím se zvyšují nároky na šířku pásma přenosového kanálu. Kvantování
Analogový signál např. v rozmezí hodnot 0-Am nabývá nekonečně mnoha hodnot z oboru reálných čísel. U digitálního signálu počet jeho hodnot redukuje na konečný počet tzv. kvantovacích úrovní x1, x2,.....xn a ∆x = xi+1-xi je kvantovací krok. Kvantovací krok může být konstantní nebo proměnný (nelineární kvantování).
9
Počet kvantovacích úrovní pro konkrétní převod je dán počtem bitů hodnoty digitálního signálu. Pokud je např. číslicová hodnota vyjádřena osmibitovým číslem, pak je počet kvantovacích úrovní 256. Kvantovací chyba ∆kV = x − x(t ) i
kde xk je kvantovací úroveň a x(t)i hodnota analogového signálu na začátku vzorkovacího impulsu. Maximální kvantovací chyba
∆kVM =
∆x 2
Kvantovací chybu můžeme zmenšit zvyšováním počtu kvantovacích úrovní. To má za následek větší počet bitů číslicové hodnoty a větší objem dat. Vhodné je použití tzv. nelineárního kvantování, kdy se pro malé úrovně signálů používá menších a pro velké úrovně větších hodnot kvantovacích úrovní. Tato technika je často používaná při zpracování videa a zvuku, kdy je třeba omezit velikost souborů digitalizovaných dat a tedy i velikost datového toku.
2.2 Technické prostředky Multimediální počítače Konsorciem výrobců PC byly průběžně definovány specifikace uživatelských multimediálních počítačů, které byly schopny přijímat a přehrávat multimédia, především zvuk a video. Průkopníkem v této oblasti byla firma Apple Computer se svými počítači Apple Macintosh. Jako příklad je uveden Mac z roku 1999 s parametry: - procesor Power PC 333 MHz - 32 MB RAM - 6 GB hard disk
- 24× CD-ROM - vestavěný modem V90 - vestavěné stereo reproduktory - grafická karta s 16 MB videopaměti a grafickým akcelerátorem Podobné vlastnosti měly i počítače PC. Také výkonné pracovní stanice pracovní stanice např. SGI se používaly především pro náročnější aplikace 3D grafiky a animací a video efektů, ale prakticky pouze ve filmovém a televizním průmyslu. Dále na přijímací straně přibyla výkonná kapesní přehrávací zařízení, která ve spojení se sítí Internet umožňují stahování a přehrávání MM produktů. Příkladem je iPod firmy Apple Computer. Dnes je už možné stahovat a přehrávat multimédia i na mobilních telefonech.
10
Počítače pro přípravu – produkci MM aplikace se od předchozích odlišují především v nárocích na výkon procesoru, operační a diskovou paměť a na výkonnost grafických karet. Produkční počítač musí shromažďovat data od různých projektů, statická grafika se musí uchovávat v původní kvalitě, samotné video a zvuk jsou také velmi náročné na paměťový prostor. Také rychlost především při zápisu na disk je omezujícím faktorem pro zpracování digitálního videa, kdy je třeba při snímání rychlost až 30MBps. Dřívější obyčejné disky IDE a SCSI na tyto rychlosti nestačily. Až SCSI-2 dosáhla 40 MBps a Ultra SCSI-2 80 MBps. Vývoj dále pokračuje. S-ATA disky dosahují dnes rychlosti do 300MBps, nejrychlejší USB rozhraní dosahuje cca 60 MBps, alternativní standard rozhraní Fire Wire dosahuje rychlosti do 50 MBps. Řešením bylo v minulost také místo drahých rychlých disků použití diskových polí – RAID sestavených z levných jednotek. Princip rychlého přístupu je zde řešen paralelním čtením a zápisem. Speciální periferie jsou důležitou součásti multimediální produkce. Jejich vlastnosti byly prezentovány v předmětu Grafické editory.
-
kreslicí tlakově senzitivní tablety velké 20 – 24 palcové monitory s velkým rozlišením a dostatečným barevným gamutem a možností kalibrace zobrazovaných barev skenery filmů a grafických předloh s vysokými parametry rozlišení, denzity a hloubky barev
Z periferních zařízení zbývají ještě digitální fotoaparáty a digitální kamery. Jejich činnost je založena na CCD nebo CMOS plošných snímačích. U CCD snímače se jedná o elektronický prvek o velikosti řádu čtverečních centimetrů, na kterém jsou umístěny tzv. CCD (Charged Coupled Devices) elementy do tvaru matice. Vzdálenosti těchto prvků jsou u dnešních snímačů v rozmezí 5–20 µm. Princip činnosti CCD snímacího prvku je založen na jevu, kdy je změna elektrického náboje na tomto prvku úměrná změně jeho osvětlení. Polovodičový snímací prvek bývá realizován jako MOS kondenzátor nebo PN přechod s řídicím tranzistorem. CCD plošný snímač má dvě základní funkce: - převod optického obrazu snímaného objektu na formu nábojového obrazu, - postupný přenos nábojů z jednotlivých CCD elementů snímače po řádcích ze snímací matice do výstupního obvodu a jejich konverze na elektrický napěťový signál. Časový sled přenosu nábojů z jednotlivých CCD prvků musí korespondovat s dalším zpracováním (např. s televizní normou). Na následujícím obrázku je schematicky zobrazeno jedno z možných řešení architektury plošného CCD snímače. Tato architektura se nazývá CCD FIT (Frame Interline Transfer). Světlocitlivá buňka změní po osvětlení náboj a tato změna se přenese jako změna náboje do jednoho prvku CCD vertikálního posuvného registru.
11
Při sejmutí objektu se tedy posuvné registry „nabijí“ náboji, jejichž velikosti jsou úměrné optickému obrazu promítnutému z objektu na plochu CCD snímače. V posuvných registrech je v podstatě zapsán „nábojový“ obraz scény. Tím je realizována první funkce snímače. Z posuvných registrů CCD se náboje přenáší do paměťové části v době vhodné z hlediska dalšího zpracování (u televize např. v době snímkového zpětného běhu). Přenos nábojů z paměťové části do horizontálního posuvného registru snímače probíhá po řádcích v době řádkových zpětných běhů. V horizontálním posuvném registru se provádí převod náboje na napětí a na jeho výstupu je už napěťový signál, jehož velikost je úměrná nábojům v jednotlivých CCD prvcích a tedy hodnotám jasu bodů snímaného objektu. Komunikační sítě MM aplikace je možné šířit nejen v LAN sítích, ale také v rozlehlých komunikačních sítích. To je velká vymoženost, kterou přinesl v podstatě až Internet. V následující tabulce je přehled zařízení umožňujících přístup na Internet (k ISP – Internet Service Providers) s rychlostmi přenosu a dobami přenosu konkrétních médií. Až od sítě ISDN primary rate je možné mluvit o dostatečné rychlosti přenosu, která by mohla zajistit přijatelné výsledky přenosu v rozlehlých sítích pro MM aplikace. Základní technologie ISDN se však prakticky používá hlavně pro přenosy tiskových dat mezi grafickými studii a tiskárnami. Pro připojení k ISP je čím dál víc používaná Technologie ADSL a je svými parametry vhodná také pro přenosy MM dat.
Kbps
6KB text page
100 KB image
4MB film
Fast modem
56
1 sec
14 sec
9 min
ISDN basic
128
< 1 sec
6 sec
4.3 min
ISDN primary
2048
< 1 sec
< 1 sec
15 sec
ADSL
6000
< 1 sec
< 1 sec
5 sec
T3 line
44 736
< 1 sec
< 1 sec
1 sec
B-ISDN (ATM)
> 150 000
< 1 sec
< 1 sec
< 1 sec
Lokální sítě LAN poskytují mnohem rychlejší přenosy, než rozlehlé sítě. Především 100 Mb Ethernet a v poslední době 1Gb Ethernet poskytují možnosti, které jsou například 12
v rámci Internetu nedosažitelné. Pokud nám tedy stačí komunikace v rámci jedné sítě LAN (např. videokonference), je použití rychlého přenosu pro větší množství účastníků v LAN sítích velmi efektivní. Multimediální aplikace kladou velké požadavky na vlastnosti jak LAN, tak rozlehlých komunikačních sítí. MM datové proudy (streaming) jsou časově dlouhé (minuty až hodiny) a mají tvrdé požadavky na možnosti práce v reálném čase. Vyžadují velkou propustnost a tedy velkou šířku pásma s malými a pokud možno se stálými zpožděními. Existující sítě mají po určitých modifikacích možnosti pro splnění požadavků na zpracování MM přenosů, především pokud používají technologie ATM (Asynchronous Transfer Mode). Podrobněji se budeme vlastnostmi komunikačních sítí pro přenosy multimédií zabývat v kapitole 9.
2.3 Programové vybavení MM tvorby Autorské MM systémy Macromedia Director – jedná se o přední autorský systém pro vytváření interaktivních multimediálních aplikací. Umožňuje integrovat různé typy médií, zejména grafiku, text, zvuk, animace a videosekvence. Tak dovoluje vytvářet výukové programy, reklamní a informační kiosky, demonstrační verze, interaktivní zábavné a vzdělávací produkty. Základní dokument vytvořený v Directoru se nazývá „movie“ – „film“, což je terminologický pozůstatek z prvotních verzí Directoru. Také ostatní objekty používají filmovou terminologii: „stage“ – jeviště, „cast“ – obsazení, „sprites“ - herci apod. Hotové filmy mohou uživatelé prohlížet ve webovém prohlížeči, nebo nezávisle na prohlížeči, jako samostatný spustitelný soubor vytvořený Directorem. Ten se nazývá „projektor“. Projektory umožňují vytvořenému „filmu“ běžet bez přítomnosti vývojového prostředí Director. Tato forma je vhodná pro distribuci prostřednictvím CD-ROM nebo DVD-ROM. Skriptovací jazyk Lingo umožňuje vytvářet mnoho různých modifikací chování jednotlivých objektů filmu. Macromedia Flash – se používá k vytváření MM publikací především pro Web, ale také spustitelných prezentací na přenositelných médiích. V programu je možné pořizovat jednodušší vektorovou grafiku, texty, vytvářet symboly, animace a importovat do prezentace rastrové obrázky, animace, video a zvuk. Všechna potřebné objekty MM publikace se v tomto programu integrují do výsledného produktu. Spustitelná publikace se přehrává pomocí přehrávače FLASH Player, který je součástí instalace. Prostřednictvím této technologie můžete vytvářet internetové prezentace, reklamní kampaně, obchodní nebo výukové aplikace, on-line hry či interaktivní video. Díky podpoře různých platforem lze Flash aplikace přímo spouštět také na osobních počítačích s různými operačními systémy, kapesních počítačích nebo mobilních telefonech. After Effects – je výkonný profesionální program pro tvorbu pohyblivé grafiky a vizuálních efektů pro televizi, film, web a multimédia. Umožňuje animace ve 2D a 3D prostoru a přesné ovládání vrstev. Jsou umožněny plynulé přechody mezi aplikacemi After Effects, Adobe Premiere a Encore a snadno sdílet animace s programem Macromedia Adobe Flash. Adobe Premiere – umožňuje provádět profesionální střih videa a vytvářet filmy s volitelnou snímkovou frekvencí. Zpracovává video v podstatě v libovolném formátu od DV po HDDV a výsledek publikuje na videokazetu, DVD nebo Web. S integrací s ostatními aplikacemi Adobe představuje Adobe Premiere Pro 2.0 nový standard pro efektivní tvorbu digitálních filmů. Adobe Audition – je profesionální program pro úpravu zvuku, určený pro náročné odborníky z oblasti audia a videa. Adobe Audition nabízí pokročilé mixování zvuku, úpravy a efekty.
13
Flexibilní workflow, kombinovaný s neobyčejnou jednoduchostí používání přesných nástrojů, vám dodá sílu vytvářet bohaté, audio. Další aplikací pro zpracování zvuku je Adobe Soundbooth. Umožňuje modifikace zvuku ze zvukových filmů, videa a Flash aplikací. Jedná se o odstraňování částí záznamu, čištění zvukových poruch, modifikace efektů aplikace filtrů a mnoho dalších. Předností je těsná vazba s programy Adobe Flash a Adobe Premiere a intuitivní ovládací interface. Adobe DreamWeaver – Adobe Dreamweaver CS3 je komplexním programem pro návrh nebo úpravu web stránek. Nabízí přehledné vizuální prostředí, které dává uživatelům volnost a neomezuje jejich kreativitu. Pro profesionály je k dispozici robustní editor kódu s celou řadou speciálních nástrojů, zaměřených na zvýšení komfortu a produktivity práce. Samozřejmostí je přímá podpora nejnovějších technologií včetně CSS, XML nebo XSLT. Dreamweaver umožňuje vytvářet dynamické webové aplikace propojené s databázemi a webovými službami s využitím nejrozšířenějších serverových technologií jako ASP, ASP.NET, PHP, JSP a ColdFusion. Úzká integrace s programy Photoshop, Flash a Fireworks přináší možnost tvorby webových stránek s optimalizovanou grafikou a multimediálními elementy. Grafické editory 2D Corel Draw , Adobe Illustrator - základní rysy většiny kreslících programů jsou velmi podobné, proto budou v následujícím textu stručně popsány jejich obecné vlastnosti. Základními prostředky kreslícího programu jsou pracovní plocha vymezená na obrazovce, hlavní menu a sada kreslících nástrojù. Veškeré činnostijsou založeny na volbě položek menu, které ve spojení s příslušnými nástroji umožňují velký rozsah dalších činností pri zpracování grafických objektù.
Pomocí nástrojů výběru můžeme vybírat grafické objekty na pracovní ploše a provádět s nimi různé transformace (přemisťování, změny velikosti, zešikmování a rotaci atd.) Dále tvarovat tyto objekty, manipulací s jejich řídicími body. Pomocí kreslicích nástrojů kreslíme přímky, křivky a další útvary. Křivky je možné kreslit ručně, tedy na tvar má vliv pouze jak táhneme myší, nebo pomocí Bézierových křivek, kdy se ruční kresba aproximuje kubickou křivkou. Nástroje obdélníku a elipsy slouží ke kreslení pravoúhelníků, kružnic a elips různých velikostí a tvarù. Pomocí textového nástroje můžeme v editačním okně psát texty. Text je možné různými způsoby zarovnávat, volit mezery mezi písmeny, slovy a řádky, volit počty sloupců. Je možné umisťovat text na křivku, modifikovat tvary jednotlivých písmen a provádět mnoho dalších činností. Pomocí nástrojů obrysu a výplně se modifikují obrysy a výplně vybraných objektů. Je možné vybírat z velkého množství předdefinovaných výplní, nebo vytvářet vlastní výplně. Adobe Photoshop – program umožňuje zpracovávat rastrové obrazy pořízené skenováním předloh, nasnímané videokamerou nebo digitálním fotoaparátem. S obrazy je pak možno dělat různé transformace (jas, kontrast, ostření, vyhlazení změny barev atd.). Nástroje voleb umožňují zvolit části obrazù a další nástroje potom provádějí manipulace s těmito volbami stejné jako s celými obrazy. Retušovací a malovací nástroje umožňují retušovat nedostatky v obrazech, malovat v obrazech jako tužkou, sprejem a štětcem, místně rozmazávat nebo měnit jas a sytost částí obrazů.
14
Program Photoshop používá také k modifikacím obrazu také předdefinovaných filtrů. Tyto filtry můžeme využít ke kvalitní retuši naskenovaných tištěných předloh a také pro ostření a vyhlazování. Další možnosti pro vytváření nových obrazù poskytují fotomontáže s využitím masek a vrstev. Při fotomontážích je možné využít paletu ořezávacích cest. Tyto se nyní tvoří stejným vektorovým kreslením pomocí Bézierových křivek, jaké používá Adobe Illustrator nebo Corel Draw. Sazbové programy QuarkXpress, Adobe InDesign a Corel Ventura – jsou nejvíce používanými programy pro sazbu. V následujícím textu budou popsány základní funkce sazbového programu.
Programy sazby jsou charakteristické tím, že se v nich tiskové objekty obvykle nevytváří, ale jsou do nich exportovány z jiných produktù. V programech pro sazbu se provádí tzv. zlom stránky, což je v podstatě úprava jednotlivých stránek publikace do stejného formátu (typy písma, styly odstavců, vkládání grafických objektů atd.). Postup práce se pak odehrává zhruba podle následujícího schématu. Do programu sazby se načtou jednotlivé kapitoly textové informace, a ty se rozdělí do stránek předem definované velikosti a počtu sloupců (obrazec sazby). V kapitolách se definují styly odstavců, styly oken, styly stránek a písem, což jsou pod konkrétním jménem uložené soubory atributù jmenovaných objektù. Styl je možné potom naráz aplikovat na další vybraný objekt. V místech, kde budou obrázky nebo jiné grafické informace se definují rámce a do nich se obrázky načtou. Až je sazba jednotlivých kapitol hotova, je možné automaticky očíslovat stránky, vytvořit obsah a rejstřík a nakonec sestavit publikaci z více kapitol. Při editaci textu můžeme v sazbových programech editovat texty podobně, jak je běžné u většiny textových editorů aplikováním typografických pravidel. Není vhodné v těchto programech text vytvářet, s výjimkou krátkých textů. Důležitým nástrojem sazbového programu jsou rámce, které umožňují přesné umisťování objektů na stránce. Můžeme do nich vkládat bloky textu mimo pravidelné sloupce textu a tak umisťovat do libovolného místa stránky texty a obrázky. Některé sazbové programy umožňují sázet matematické vzorce a vytvářet jednoduché tabulky. Dnešní sazbové programy umožňují také na slušné úrovni práci s barvami.Mohou pracovat s přímými i procesními barvami a umožňují separace na jednotlivé výtažky procesních barev. Velmi důležitou vlastností je možnost převodu výstupů do různých formátů tak, jak to vyžaduje následné zpracování (PostScript, kompozitní PostScript, PDF formát). Grafické editory 3D Program 3D studio max umožňuje rychle vytvářet na PC profesionální 3D modely, fotorealistické statické obrazy a animace s filmovou kvalitou. Následuje stručný popis základních vlastností programu. Základní postup při vytváření 3D scény je následující: Nastavení prostředí programu Modelování objektů Aplikace materiálů Umístění světel a kamer Animování scény Rendrování scény
15
Nastavení prostředí programu Po spuštění programu se otevře prázdná nepojmenovaná scéna. Prázdnou scénu lze otevřít kdykoliv zvolením New nebo Reset z menu File. Pomocí výběru zobrazení jednotek a nastavení systémových jednotek v dialogu Units Setup lze zvolit metrický systém, standardní US nebo obecné jednotky, příp. definovat vlastní měrný systém. Následuje nastavení rozteče mřížky scény v záložce Home Grid dialogu Grid And Snap Settings. Rozteč mřížky lze měnit kdykoliv. Funkce nastavení zobrazení pohledů (viewportů) umožňuje implicitní zobrazení čtyř viewportů a představuje vhodné a oblíbené rozvržení obrazovky. Rozložení viewportů a další parametry zobrazení lze měnit v dialogu Viewport Configuration. Modelování objektů Při modelování lze vycházet z různých základních trojrozměrných geometrických objektů (např. válec), nebo přidat třetí rozměr dvourozměrnému objektu (např. textu). Objekty lze převést na různé typy editovatelných povrchů, které lze potom upravovat např. na úrovni jednotlivých bodů. Dalším nástrojem modelování je použití modifikátorů (např. pro ohyb). Nástroje pro modelování, úpravy a animování jsou stále přístupné v panelech příkazů a v hlavním panelu nástrojů. Design materiálů Součástí 3ds max je propracovaný editor materiálů (Material editor) v plovoucím okně. Editor umožňuje vytváření realistických materiálů definováním hierarchie parametrů povrchu. Vlastnosti povrchu mohou představovat statické materiály, nebo mohou být animovány pro vytváření speciálních efektů. Světla a kamery Pro osvětlení scény lze definovat světla s různými vlastnostmi. Světla mohou vrhat stíny, promítat obrázky a vytvářet objemové efekty pro osvětlení atmosféry (prostředí). Rovněž lze používat světla s parametry odpovídajícími skutečným zdrojům záření (např. 60W žárovce) a renderovací technologii nazvanou Radiosity, která simuluje způsob, jakým světlo interaguje s prostředím – to umožňuje vytvářet reálně osvětlené prostory. Kamery mají „skutečné“ parametry, např. ohniskovou vzdálenost a zorné pole, a prvky pro ovládání pohybu, např. posun kamery (a jejího ohniska) rovnoběžně s rovinou pohledu (truck), posun podél hlavní osy kamery a otáčení kamery. Animování Animovat scénu lze kdykoli po aktivování tlačítka Auto Key. Po deaktivaci tlačítka lze opět modelovat. Animaci lze vytvářet také animováním parametrů jednotlivých objektů scény. Pro ovládání animace slouží okno Track View. Track View je plovoucí okno, v němž lze editovat animační klíče, nastavovat animační kontrolery nebo upravovat pohybové křivky animace. Rendrování Při rendrování (vytváření zobrazení pro výstup do 2D grafických formátů) lze nastavit vlastnosti jako selektivní ray-tracing, analytické potlačení roztřepení (antialiasing), rozostření pohybu, objemové osvětlení a efekty prostředí. Pomocí okna Video Post je rovněž možné rendrovat a kombinovat vícenásobné pohledy z animací uložených na disku. Dalším používaným 3D grafickým editorem je program Maya, který lze charakterizovat jako jednodušší 3ds Max. Zatímco 3ds Max je orientován spíše na technické aplikace, program Maya je vhodný pro oblast modelování a animace uměleckých scén.
16
3. Zpracování 3D grafiky 3.1 Křivky a plochy Prostorové křivky a plochy jsou stavebními kameny 3D objektů. Křivky a plochy jsou obyčejně v počítači reprezentovány jako soustava parametrů nějaké rovnice, která je posléze generativně zobrazována. Toto vyjádření může být v podstatě trojího druhu – explicitní, implicitní a parametrické. V počítačové grafice se pro vyjádření křivek nejčastěji používá tvar parametrický. Prostorovou křivku můžeme chápat fyzikálně, jako dráhu pohybujícího se bodu, jehož souřadnice jsou funkcemi parametru t. x = x(t), y = y(t), z = z(t) Parametr t je z intervalu a často je volen v rozsahu <0, 1>.
k
Q
Q
kde x(t), y(t), z(t) jsou složky vektoru
j
i
Q
Vektorová rovnice křivky (t ) = x(t ) + y (t ) + z (t ) (t ) .
Vektor (t ) se nazývá polohový vektor bodu křivky, jeho velikost je rovna vzdálenosti jeho koncového bodu vektoru od počátku souřadnic. Výhodou parametrického zápisu je závislost souřadnic křivky na jediném parametru t.
Obr. 2.2 Křivka vyjádřená parametricky Je také možné tzv. bodové vyjádření rovnice křivky, které budeme dále používat: Q(t) =[x(t),y(t),z(t)] kde hodnoty Q(t) jsou trojice souřadnic x, y, z bodu křivky pro parametr t. Příklad 1. Parametrické rovnice x(t) =sin t, y(t) = cos t, z(t) = t určují spirálovou křivku podle následujícího obrázku.
17
Modelování křivek (jejich vytváření v počítačovém programu) se provádí tak, že je definováno několik řídicích bodů a program z jejich poloh určí průběh křivky, obvykle polynomiálního typu. Existují dva způsoby vytváření křivky – interpolace a aproximace. Křivka generovaná při interpolaci probíhá danými body, zatímco při aproximaci je řídicími body určen tvar křivky, ta jimi však procházet nemusí. Parametricky zadaná polynomiální kubická křivka Q(t) má tvar x(t ) = a x t 3 + bx t 2 + c x t + d x y (t ) = a y t 3 + b y t 2 + c y t + d y z (t ) = a z t 3 + bz t 2 + c z t + d z Maticový tvar této křivky v bodovém vyjádření 1 t
(
2 t
=
3 t
C T
Q(t ) =
ax bx c x d x
)
ay by cy dy
az bz cz d z
Zvláštním případem křivky je přímka. V tom případě jsou funkce parametru t lineární. Jako příklad konkrétní používané křivky je uvedena Bézierova kubická křivka. Ta je zadána čtyřmi polohovými vektory P0, P1, P2, P3 (v bodovém vyjádření body P0, P1, P2, P3). Křivka vychází z prvního řídicího bodu, končí v posledním.
18
Maticový zápis vektorového tvaru Bézierovy kubické křivky je potom − 1 3 − 3 1 P0 3 − 6 3 0 P1 3 2 Q (t ) = t t t 1 −3 3 0 0 P2 1 0 0 0 P3 je zde rozdělena na součin dvou matic, kdy první vyjaMatice C z rovnice Q(t ) = dřuje typ křivky (v tok¨mto případě Bézierova křivka) a druhá definiční body křivky. Toto vyjádření je základem pro interaktivní vytváření křivek v grafických editorech.
(
)
C T
Roznásobením této rovnice dostaneme vektorový vztah 2
kde B0(t) – B3(t) jsou Bersteinovy polynomy. Bernsteinovy polynomy mají potom tvar B0 (t ) = (1 − t ) 3 B1 (t ) = 3t (1 − t ) 2 B2 (t ) = 3t 2 (1 − t ) B3 (t ) = t 3 Bodovou rovnicí parametrické plochy Q(u, v) dvou parametrů u a v budeme rozumět funkci
Q(u, v) = [ X (u , v), Y (u , v), Z (u, v)] kde X(u, v), Y(u, v) a Z(u, v) jsou funkce dvou parametrů u, v v intervalu <min, max>.
Obr. 3.1 Parametrická plocha Funkce X(u,v), Y(u,v), Z(u,v) jsou obecně nelineární. Zvláštním případem prostorové plochy je rovina, pro kterou jsou potom tyto funkce lineární.
19
Na obr. 3.1 je zobrazena parametrická ploška (plát) pro rozsah u, v v intervalu <0, 1>. Bod Q o souřadnicích [x, y, z] v trojrozměrném kartézském prostoru má souřadnice [u, v] v prostoru parametrickém. Funkce x(u, v), y(u, v), z(u, v) jsou obvykle polynomiální, s ohledem na výhodné vlastnosti modelování a navazování. Parametrické polynomiální plochy používají shodné matematické prostředky jako parametrické polynomiální křivky. Příklad 2. Parametrické rovnice x = u + 0.5v, y = 3v, z = 1- u2 definují kvadratickou plochu podle následujícího obrázku.
Plochy jsou při praktickém modelování zadány řídicími body a bázovými funkcemi – obvykle polynomy. Bázové funkce jsou dány stupněm a typem křivky, tvar se modeluje pomocí řídicích bodů. Většina ploch, které se v trojrozměrném modelování používají, jsou plochy aproximační. Interpolace v dimenzích vyšších nežli dvě je složitou úlohou, a proto se ve třech dimenzích obyčejně používá interpolace rovinnými ploškami, nejčastěji trojúhelníky. Příkladem aproximační plochy je Bézierova bikubická plocha 3. stupně, která je určena 4 x 4 řídicími body a vztahem P00 P01 P02 P03 B0 (v) P10 P11 P12 P13 B1 (v) Q(u , v) = (B0 (u ) B1 (u ) B2 (u ) B3 (u ) ) P P21 P22 P23 B2 (v) 20 P 30 P31 P32 P33 B3 (v) kde Pi,j jsou řídicí body plochy a bázové Bernsteinovy polynomy 3. stupně jsou stejné jako pro definici Bézierových křivek:
B0 (u ) = (1 − u ) 3 , B1 (u ) = 3u (1 − u ) 2 , B2 (u ) = 3u 2 (1 − u ), B3 (u ) = u 3 Stejné rovnice platí pro směr v. Rozepsáním definiční maticové rovnice dostaneme vztah používaný prakticky pro modelování Bézierových ploch 3
3
Q(u , v) = ∑∑ Pi , j Bi (u ) B j (v) i = 0 j =1
20
3.2 Modelování těles Modelování těles může být definováno jako „umění návrhu datových struktur a algoritmů pro tvorbu, manipulaci a analýzu 3D těles“. Těleso vyplňuje určitou prostorovou oblast, která je tvořena jednou souvislou množinou bodů nebo více izolovanými oblastmi. Tyto oblasti obsahují „hmotu“ tělesa. Každá samostatná souvislá oblast tvoří jádro, které je ohraničeno stěnami. Stěny jsou vymezeny hranami, každá hrana začíná a končí ve vrcholu. V nejjednodušším případě propojuje hrana dva vrcholy jako prostorová úsečka. Obecně je to však křivka, která tvoří hranici nejméně 2 navazujících ploch a může být definována mnoha různými způsoby. Např. hrana, která vymezuje kruhovou podstavu válce, je tvořena obvodovou kružnicí, která začíná a končí ve zvoleném bodě na obvodové kružnici. Hrany jsou uspořádány do smyček, nejjednodušší smyčka je tvořena hranami jedné stěny. Používané označení základních topologických prvků: V (vertex) - vrchol E (edge) - hrana F (face) - stěna, povrch S (solid) - těleso R (region) - oblast, část nesouvislého tělesa L (bop) - smyčka, cyklus hran S (shell) - skořápka, vybraná množina propojených stěn
Prostorové počítačové modely uchovávají výčty těchto prvků nebo jejich jednoduchých kombinací (polyčára, trojúhelník, pás trojúhelníků) – tzv. grafických primitiv. Dále mohou uchovávat některé vztahy mezi těmito topologickými prvky. Při definici vztahů mezi základními topologickými prvky např. označení F —>E znamená, že z modelu lze určit pro každý povrch F s ním iniciující hrany E . Dále E —> (V, E) označuje datovou strukturu, kde každá hrana ukazuje na vrchol a následující hranu. Modely těles používané v současných grafických systémech se dělí do čtyř kategorií. • Objemová reprezentace reprezentuje těleso seznamem - výčtem všech objemových elementů, ze kterých se těleso skládá (např. voxely krychlového tvaru). Výčet bývá obvykle uspořádaný (podobně jako matice 2D obrazu). V řadě praktických aplikací nemáme k dispozici geometrický popis těles, ale pouze sadu diskrétních vzorků na určitém povrchu nebo v určitém objemu. Tato sada obsahuje rozptýlená digitální data, kde každý vzorek z množiny dat nese kromě údajů o barvě, hustotě či jiné fyzikální veličině v daném bodě také informaci o svých souřadnicích. Data o souřadnicích mohou být strukturovaná do podoby pravidelných nebo nepravidelných mřížek. Rozmístění vzorků do pravidelné pravoúhlé mřížky je typické například pro data získaná např. pomocí počítačové tomografie – CT. Nepravidelný tvar mají data získaná při simulaci proudění kapalin a rozptýlená data jsou výsledkem meteorologických měření teploty a tlaku vzduchu. V dalším se soustředíme na data uložená v prostorových mřížkách. U dat uspořádaných do mřížky je důležitý tvar mřížky . Obvyklé geometrické tvary mřížek lze rozdělit do několika tříd. Nejpoužívanější je v praxi pravoúhlá pravidelná nebo nepravidelná mřížka. Základními objemové elementy jsou v objemové reprezentaci vzorek, buňka a voxel. Vzorek dat je diskrétní hodnota vzniklá vzorkováním snímané fyzikální veličiny. Pojem voxel, který vznikl jako analogie dvourozměrného pixelu, označuje nejmenší element ve troj21
rozměrném diskrétním prostoru vzniklý vzorkováním 3D dat. Voxely mají u pravidelných mřížek tvar kvádru nebo krychle. Voxel je vyplněný kvádr, který má v celém svém objemu konstantní hodnotu (obr.3.3 vpravo- pohled ve směru jedné ze souřadných os). Jeho prostorové souřadnice jsou v poloze mezi diskrétními vzorky a jako jeho hodnota se obvykle bere hodnota vzorku, která je nejblíže kvantované hodnotě.
Obr.3.3 Buňky a voxely Takové vzorkování je pro řadu algoritmů příliš hrubé, proto se hodnoty v uzlech mřížky častěji chápou jako bodové vzorky spojitého prostoru a osmice vzorků vytváří jednu buňku (obr. 3.3 vlevo). Prostorová buňka může mít různý tvar - od čtyřstěnu přes kostičku po n-stěn. Hodnoty uvnitř buňky se obvykle vypočítávají lineární interpolací. Při vizualizace těles převádějí některé algoritmy objemová data do povrchové reprezentace. Velmi častým postupem je aproximace povrchů sítí trojúhelníků nebo čtyřúhelníků. (obr. 3.4). Povrchy se v tělesech také předpokládají v místech s konstantní hodnotou vzorků. Proto se takto vzniklé sítě nazývají izoplochy.
Obr.3.4 Povrchová reprezentace dat výšky terénu Hraniční modely reprezentují tělesa pomocí vrcholů, hran a hraničních povrchů. • Povrch tělesa je rozdělen na množinu stěn, které jsou vymezeny hranami a vrcholy. Modelem tělesa je pak výčet vrcholů, hran a stěn spolu s informacemi jejich návazností.
Hraniční způsob reprezentace těles spočívá v popisu hranice, tedy v popisu množiny hraničních bodů. Informace o vnitřních bodech tělesa se v těchto modelech neuchovávají. Hranice těles je přirozenou reprezentací, většinou tělesa kreslíme právě pomocí jejich obrysů. K popisu hranice tělesa používáme základní geometrické prvky, jakými jsou body, úsečky, části rovinných ploch a části obecných ploch. V počítačové grafice je velmi často zakřivená plocha nahrazována sítí pouze rovinných plošek.
Obr.3.5 Válec s otvorem aproximovaný rovinnými ploškami
22
Na obr. 3.5 je zobrazen model válce s otvorem. V levé části vidíme jeho přesný geometrický tvar, v pravé části pak aproximaci množinou plošek. Vlivem aproximace vznikly nové hrany mezi plochami. Je vhodné každé z nich přiřadit atribut určující charakter hrany. Pomocné hrany tvoří nejčastěji spojnice mezi aproximujícími ploškami. Ty by neměly být vykreslovány, pokud netvoří obrys tělesa. Nejstarší a nejjednodušší metoda popisu povrchu tělesa spočívá pouze v zápisu hran a vrcholů. Tato informačně chudá hranová reprezentace připomíná prostorové drátové modely těles pro školní účely. Proto se někdy nazývá drátový model. Při implementaci drátového modelu vytváříme jeden seznam vrcholů a jeden seznam hran. V seznamu vrcholů jsou uloženy souřadnice. Každá položka seznamu hran obsahuje dva ukazatele do seznamu vrcholů. Výsledkem je úsporná struktura, která však obsahuje minimum topologických informací, a proto drátový model nelze jednoznačně interpretovat.
Obr.3.6 Nejednoznačnost drátového modelu Prosté vykreslení všech hran modelu (obr. 3.6 vlevo) neposkytuje dostatečnou informaci o tvaru tělesa ani o jeho pozici vzhledem k pozorovateli. Jeden model může být interpretován jako několik různých těles (obr. 3.6 uprostřed a vpravo). Samotné vykreslení hran je však praktické pro vytvoření náhledu, s jehož pomocí lze prozkoumat vnitřek tělesa, který by jinak byl zakryt hraničními plochami. Další způsob popisu těles uvažuje hranici tvořenou plochami – ploškový model. Reprezentace je přirozeným rozšířením předchozí datové struktury složené pouze z vrcholů a hran o další vrstvu ploch, rovinných i bikubických. Často se používají pouze rovinné plošky. Plošky bývají uspořádány do sítí trojúhelníků nebo obecných polygonů. Z implementačního hlediska jsou trojúhelníky a čtyřúhelníky nejvýhodnější. Trojúhelník je nejjednodušším stavebním prvkem ploškových modelů těles. Jeho vrcholy leží v rovině a je vždy konvexní. Pro jeho vyplňování existují jednoduché a rychlé algoritmy. Na obr.3.7 je příklad sítě trojúhelníků, které aproximují povrch tělesa.
Obr. 3.7 Sít‘ pokrývající plochu pravidelně a jemněji v místech s větší křivostí Konstruktivní modely reprezentují těleso jako kombinaci 3D grafických primi• tiv s jednoduchým geometrickým tvarem. Zpracování se provádí pomocí operátorů posičních transformací a Booleovských operátorů. Jako primitiva se používají se hlavně hranol, válec, toroid aj. Známý je CSG model (Constructive Solid Geometry).
23
Obr. 3.8 Porovnání CSG modelu a hraniční reprezentace • Procedurální modely reprezentují tělesa popsaná pomocí nějaké procedury v počítačovém programu. Trojrozměrný model tvarově složitého tělesa můžeme získat, kromě interaktivního modelování – kreslení a pomocí různých snímacích metod, také generováním podle nějakého algoritmu – počítačové procedury. Algoritmus je pak součástí takového modelu. Jednoduchým příkladem může být například generování ploch z křivek a povrchů těles z ploch. Za ryzí procedurální modelování se však obvykle považuje automatické generování objektů, které se vizuálně podobají objektům v přírodě (modelování rostlin, krajin, ohně, ekosystémů atd.). Geometrické objekty jsou tedy popsány algoritmickými způsoby a např. plošková reprezentace je vytvořena až při vizualizaci. Existuje více přístupů k procedurálnímu modelování, v praxi jsou často používané částicové systémy a fraktální modely. Systémy částic (particle systems) se používají zejména k modelování objektů, jejichž tvar je natolik členitý, nebo se mění takovým způsobem, že ho není možno reprezentovat jako povrch. Takovými objekty jsou hejna ptáků, déšť, oheň, mlha, dým, tráva, les, atd. Systém částic je reprezentován jako soubor velkého počtu malých prvků (částic) s počátečními hodnotami rychlostí. Navíc mohou na ně působit vnější síly a tak se jejich vlastnosti se mění v čase. Mezi tyto vlastnosti patří především poloha, dále barva, rychlost a směr pohybu, zrychlení, tvar aj. Částice mohou v jistém okamžiku a místě vznikat, po určité době života mizí, mohou emitovat další částice, srážet se mezi sebou a s okolními objekty atd. Částice může být reprezentována prakticky jako cokoliv. Nejčastěji je znázorněna bodem, může být však zobrazena i jako kapka, sněhová vločka, koule či jiný geometrický útvar, vše záleží na jevu, který systém částic modeluje. Potom v počítačové grafice pracujeme s grafickými objekty, které jsou tvořeny shluky částic které se v čase dynamicky mění. Příkladem může být stříkající voda při dopadu tělesa na hladinu. Důležitou roli při tomto modelování hrají náhodná čísla. Vlastnosti, které částice mají, jsou vesměs charakterizovány jako náhodné veličiny, se základními charakteristikami střední hodnoty a rozptylu. Fraktální modely jsou založeny na pojmu fraktální dimenze. Fraktály jsou objekty, které vykazují značnou míru členitosti hranice (např. oblaka, koruny stromů ve větru) a pojem fraktální dimenze je mírou této členitosti. Parametr fraktální dimenze plošného nebo třírozměrného objektu je možné získat měřením délky hranice objektu pomocí měřítka velikosti ε, které použijeme k měření.
24
Pro parametr fraktální dimenze potom platí vztah D=
ln N ln(1 ε )
kde N reprezentuje délku hranice počtem jejího měření měřítkem ε. V počítačové grafice chceme modelovat členité objekty, tedy objekty, které jsou podobné fraktálům (např. siluety hor, mraky). Když k popisu takových objektů s použitím fraktální dimenze přidáme nahodilost, což koresponduje s přírodními útvary, které jsou silně formovány náhodnými procesy, dostáváme tak účinnou modelovací techniku. Jednou z metod je simulace Brownova náhodného pohybu částic. Tu provádíme generováním náhodných čísel s Gaussovským rozložením. Každé takové náhodné číslo si můžeme představit jako náhodný impuls, působící na pohybující se bod v čase, jehož dráha představuje prostorovou parametrickou křivku. Tyto náhodné impulsy generují potom členité čáry a plochy. Pro křivky se používá parametr fraktální dimenze D = 1.5 a pro plochy D = 2.5. Na obr. 3.9 je ukázka plošného fraktálu generovaného pomocí Brownova pohybu.
Obr.3.9 Plošný fraktál generovaný Brownovým pohybem 3.3 Vizualizace 3D objektů Žijeme a pracujeme v třídimenzionálním světě. Tomu je přizpůsobeno i naše vizuální vnímání reality. V počítačové grafice je jedním ze stěžejních problémů zobrazování modelů 3D objektů na 2D fyzikálních zařízeních (kamera, obrazovka, tiskový arch atd.) tak, aby byl zachován 3D vjem scény. Tento proces vizualizace (rendering) můžeme také nazvat procesem matematického formování obrazu. Každá 3D scéna, kterou chceme vizualizovat, musí být zpracována v tzv. pohledovém řetězci (viewing pipeline) v následujících krocích:
•
Orientace scény podle kamery
•
Ořezání části scény, která leží mimo pohledový prostor
•
Promítání 3D primitiv (vrcholy, čáry, polygony, bikubické plošky), pomocí kterých jsou tělesa modelována, do okna výstupního zařízení.
•
Lokální osvětlení scény
•
Rasterizace, která produkuje tzv. 2D fragmenty těchto 3D primitiv a jejich viditelné pixely
•
Určení barvy pixelů a jejich vykreslení do výstupního zařízení
25
Strategie vizualizačních algoritmů jsou závislé na typu reprezentace 3D objektů v grafickém systému. Jedná se tedy o strategie vizualiazace polygonálních sítí, bikubických parametrických sítí, CSG objektů, těles s objemovou – voxelovou reprezentací a nakonec těles s matematickým popisem povrchu. Vstupem do polygonálního renderingu je seznam polygonů a výstupem je soubor barevných pixelů, do kterých se body jednotlivých polygonů promítly na průmětnu 2D zobrazovače. Rendrovací algoritmy jsou v tomto případě velmi rychlé, protože polygony jsou nejjednodušší útvary počítačové grafiky z hlediska zpracování . Polygonální rendrovací algoritmy řeší dvě hlavní úlohy. První řeší proces geometrie zobrazení (pohledové transformace), druhá řeší proces interakce zobrazovaného objektu a jeho osvětlení tak, aby na výstupu vznikl prostorový vjem. Algoritmy bikubického renderingu (rendrování objektů s povrchy aproximovanými bikubickými ploškami) jsou dvojí: •
Rendrují přímo z rovnic popisujících plošky.
•
Převádějí bikubické plošky na planární pomocí rekurzivního dělení povrchů s následným polygonálním rendrováním.
Pokud se týká rendrování přímo z matematického popisu, postup je založen na řádkovém skenování bikubické plošky v parametrech u,v, následuje výpočet souřadnic odpovídajících bodů z rovnice plošky a jejich promítnutí do výstupních pixelů v průmětně. Tento postup se nazývá skenovací konverze (scan conversion). Převod bikubických plošek na polygonální je možné provádět dvěma způsoby: •
Ploška se rozdělí podle souřadnic u = 0.5, v = 0.5 na čtyři křivé čtyřúhelníky a z jejich vrcholů vytvoříme rovinné čtyřúhelníky. Ty pak dále dělíme na menší čtyřúhelníky, až je aproximace dostatečně přesná.
•
Ploška se dělí na bikubické subplošky pomocí zvolené hustoty sítě isoparametrických křivek. Průsečíky těchto křivek jsou vrcholy aproximačních polygonů, které se následně rendrují.
Rendrování CSG reprezentace používá velmi různorodé strategie vzhledem k charakteru těchto modelů. Zde musíme před vlastním rendrováním převést CSG model na reprezentaci pro rendrování vhodnou. Byly vyvinuty následující techniky:
•
CSG sledování paprsku
•
Konverze do objemové reprezentace s následným voxelovým rendrováním
•
Použití Z-buffer algoritmu – tzv. paměť hloubky
Rendrování voxelových dat – zde se musíme napřed rozhodnout, co budeme ze získaných dat zobrazovat.V objemové reprezentaci reprezentují souřadnice voxelu tvar tělesa, hodnota voxelu nějakou další vlastnost tělesa. Například to může být úroveň absorpce X-paprsků (optická hustota) v nějakém orgánu těla, získané CT skenováním. Nezajímá nás ani tolik hranice skenovaného objektu, jako to, jak se příslušná veličina mění uvnitř tělesa. Změny optické hustoty uvnitř tělesa mohou být reprezentovány při zobrazování pseudobarvy, potom budeme objekt rendrovat podle hodnoty světlosti nebo tmavosti. Například chceme
26
z naskenovaných CT dat hlavy rendrovat pouze lebku. Potom musíme odlišit voxely lebky od ostatních podle hodnoty jasové úrovně, která byla nasnímána. Rendrování voxelových dat, která mají hodnotu nějaké naměřené veličiny, nebo rozmezí hodnot, se provádí nejčastěji s použitím polygonální aproximace. Často používanou metodou je metoda pochodující kostky pro hledání isoploch v objemové reprezentaci. Pohledové transformace
V procesu formování obrazu jsou přítomny dvě základní entity – objekt a pozorovatel. Objektem je námi modelovaný 3D objekt a pozorovatel je realizován lidským okem, nebo kamerou. Před rendrováním je třeba nastavit jejich prostorovou konfiguraci. Na obr. 3.10 je znázorněn jednoduchý kamerový systém se zdrojem světla, který objekt osvětluje a kamerou, která objekt snímá.
Obr. 3.10 Kamerový systém formování obrazu V tomto jednoduchém systému je v podstatě obsažen celý proces vizualizace. Světelný zdroj osvětluje 3D objekt a ten je promítán přes optiku kamery na projekční rovinu - průmětnu. Na průmětně se na filmu, nebo digitalizačním prvku (např. CCD prvky) pomocí několika transformací zobrazují intenzity promítacích paprsků světla na hodnoty pixelů 2D obrazu. V počítačovém zpracování můžeme projekční rovinu umístit do libovolného místa. Obvyklé je její umístění před optiku kamery, tak získáme promítáním matematicky stejný obraz, jako na průmětně za kamerou (obr. 3.11).
Obr. 3.11 Zobrazení v rovině před kamerou Úlohu pohledových transformací můžeme zhruba rozložit na tyto kroky: •
Volba souřadnicových systémů - světový souřadnicový systém WCS (World Coordinate System),ve kterém je umístěna scéna a souřadnicový systém průmětny VCS (Viewing Coordinate System) tzv. obrazový prostor.
27
•
Formulace promítací úlohy, tj. výběr geometrických parametrů (vektorů, vzdáleností a úhlů), s jejichž pomocí lze jednoznačně určit pozici pozorovatele (kamery), průmětny a směru promítání.
•
Stanovení matice transformace, která popíše promítání prostorových bodů do průmětny.
•
Aplikace maticové transformace mezi souřadnicovými systémy WCS a VCS.
Dále je uveden obecný tvar transformační maticové rovnice v homogenních souřadnicích. Tuto rovnici používáme také v pohledových transformacích. x y ⋅ z 1
M
xp yp z = p w p
kde [xp,yp,zp,wp] jsou WCS souřadnice promítnutého bodu do průmětny. [x,y,z,1] WCS souřadnice bodu ve scéně, M je projekční matice o velikosti 4 x 4. V případě pohledových transformací provádí projekční matice nastavení kamery vůči souřadnému systému WCS scény. Pohledový prostor a promítání Při promítání je vhodné potlačit zpracování těch objektů, které se nacházejí mimo oblast našeho zájmu. Urychlíme tak proces vykreslování, ale také tím vyřešíme kritické situace, které mohou vzniknout např. při středovém promítání. Podobně je třeba zamezit promítání objektů ležících za zády pozorovatele. Proto se zavádí pojem pohledový prostor (viewing volume). Je to oblast prostoru, ohraničující ty objekty, které mají být podrobeny promítání. Veškeré ostatní objekty musí být před dalším zpracováním odstraněny, resp. ořezány. Pohledový prostor je definován pomocí průmětny na kterou se promítá, blízké ořezávací roviny a vzdálené ořezávací roviny (obr.3.12). V praxi se často ztotožňuje blízká ořezávací rovina s průmětnou. Při ořezání pohledovým objemem zajišťují tyto roviny odstranění příliš blízkých objektů bránících ve výhledu a příliš vzdálených objektů, které jsou z hlediska pozorovatele nezajímavé a jejichž zpracování zpomaluje proces zobrazování. Všechno, co je ve scéně mimo pohledový prostor, se tedy ořízne. Do procesu promítání a následného rendrování vstupují pouze objekty uvnitř pohledového prostoru.
Obr.3.12 Pohledový prostor
28
Ořezávací algoritmy rozhodují, která 3D primitiva, nebo které jejich části, se mají objevit ve výstupních 2D fragmentech a která mají být odstraněna. Algoritmus přitom používá informace o pohledovém prostoru, odstraňuje tedy části scény které leží mimo tento prostor. Principy ořezávání jsou stejné, jako v případě 2D grafiky. Z předchozích předmětů Počítačová grafika a Grafické editory jsou známé algoritmy Cohen-Sutherland a Liang-Barsky pro ořezávání úseček a Sutherland-Hodgeman pro ořezávání polygonů. Pohledové prostory pro oba základní druhy promítání jsou znázorněny na obrázku 3.12. U středového promítání je tímto prostorem komolý jehlan, u rovnoběžného promítání kvádr. Úhly při vrcholu jehlanu by měly odpovídat šíři záběru kamery. Za vhodný úhel lze při vrcholu jehlanu považovat hodnotu 40°- 60°. Dalším krokem při vizualizaci je promítání 3D primitiv do okna výstupního zařízení. Výsledkem jsou průměty těchto primitiv do roviny. Nejpoužívanější druhy promítání jsou rovnoběžné a středové promítání. Promítání se popisuje transformacemi v homogenních souřadnicích, které v sobě zahrnují i umístění snímající kamery na příslušné ose. Jako příklad jsou uvedeny příslušné transformační matice rovnoběžného promítání do rovin xy, xz, yz, hodnoty x0, y0, z0 jsou vzdálenosti od jednotlivých průměten. Podobné matice se dají odvodit pro další druhy promítání. Jejich dosazením do obecné transformační rovnice získáme souřadnice promítnutých pixelů v průmětně.
Rasterizace 2D fragmentů Závěrečným krokem vizualizace 3D objektů je určení hodnoty (barvy) pixelů výstupních 2D fragmentů v průmětně. Přitom uvažujeme osvětlení scény jak lokálním, tak globálním osvětlením a odrazivost a transparentnost objektů ve scéně. Cílem je dosáhnout reálného 3D vjemu a dostatečné barevné věrnosti scény – tzv. fotorealistického zobrazení. Existuje mnoho metod pro splnění cíle fotorealistického zobrazení 3D scén. Z nich základními jsou - řešení viditelnosti objektů a jejich částí, stínování ploch podle velikosti osvětlení, aplikace textur na plochy, generování stínů těles, generování isočar a isoploch, metody sledování paprsku atd. Popis těchto zobrazovacích metod je mimo rámec tohoto předmětu.
29
4. Zpracování videa 4.1 Základní informace Všechny metody zobrazování pohyblivých obrázků (film, televize, analogové video, digitální video) závisí na setrvačnosti zraku. Pokud vytvoříme sekvenci statických obrázků a tato bude prezentována s dostatečnou rychlostí (nad tzv. frekvencí splývání) oko je nevnímá jednotlivě, ale kontinuálně. Jestliže jsou mezi jednotlivými obrázky jen malé odchylky ve smyslu rovnoměrné prostorové změny objektů, vnímá oko pohyb objektu. Frekvence splývání je přibližně 40 obrázků za vteřinu. Film pracuje s obrázky na celuloidovém pásku s frekvencí promítání 24 snímků za vteřinu, ale filmové projektory zobrazují každý snímek dvakrát, takže promítací frekvence je 48 snímků za vteřinu. Analogová televize pracuje s obrázky scén, které jsou rozloženy na snímky a tyto na řádky. Televizní kamera snímá scénu po řádcích, takže elektrický signál řádku scény je analogové napětí, které se mění podle jasu scény ve snímaném směru a označením jeho začátku synchronizačním impulzem. Soubory řádků vzniklé nasnímáním celé scény tvoří snímky, jejich začátky jsou označený snímkovými synchronizačními impulzy. Tento signál je možné přímo vysílat (při přímých přenosech) nebo zaznamenat na analogové médium a později vysílat televizními vysílači. Na přijímací straně musí probíhat rozklad promítacího paprsku na obrazovce stejným způsobem, jako při snímání kamerou. Způsoby uspořádání tohoto rozkladu se nazývají televizní normy. Televizní normy Pal a Secam pracují s 25 snímky za vteřinu a 625 řádky ve snímku. Protože je každý snímek složen ze dvou řádkově prokládaných půlsnímků, je frekvence obnovy obrázků na obrazovce 50 půlsnímků za vteřinu. Digitální televize pracuje s digitalizovanými a zakódovanými signály analogové televize. Přináší podstatné zvýšení kvality reprodukce na zobrazovacích zařízeních. Analogové video je v podstatě záznam jasové složky scény (luminance) a barvy (chrominance) na magnetickou pásku na principu řádkového a snímkového televizního rozkladu. Pracuje se stejnými snímkovými frekvencemi jako televize. Digitální video je digitalizované analogové video ukládané na DVD nosičích. Pracuje podle typu použitých kodeků se snímkovými frekvencemi 12 fps až 30 fps a můžeme jej přehrávat na monitorech počítačů. V MM aplikacích je vytváření videa možné dvěma způsoby. - snímání reálných pohyblivých scén pomocí videokamer – získáváme video, které následně digitalizujeme přímo v kameře nebo v digitalizační kartě, - vytváření jednotlivých videosnímků snímáním každého obrázku individuálně nebo vytvářením v počítačovém programu – získáváme animaci – animované video. Problémem je, že standardy analogového videa byly vytvářeny na základě televizních systémů, takže pro digitalizované video, které chceme přehrávat na počítačích nejsou plně použitelné. Digitální videosekvence se skládá z rastrových obrázků určitého rozlišení. V normě PAL má každý snímek (dva půlsnímky) 768 × 576 bodů a opakuje se 25 × za vteřinu. Pokud je barevná hloubka 24 bitů, potom zabírá vteřinová sekvence (velikost datového toku) 31MB a minutová 1,85 GB. 30
Vzniká tedy problém, na co uložit například hodinový film, na jakém počítači ho přehrávat a po jakých sítích ho přenášet. Aby to bylo možné při současných technologiích, musíme provádět silnou kompresi jednotlivých snímků a zmenšovat jejich rozměry. Další možností je tzv. mezisnímková komprese využitím podobnosti mezi sousedními snímky a přenášením rozdílů mezi nimi. To má za následek snižování kvality reprodukce, především ve srovnání s digitální televizí. Digitální video je dnes běžnou součástí MM aplikací a pro zpracování v MM systémech jej můžeme získávat •
přímo z digitální kamery přes rozhraní FireWire (IEEE 1394) nebo rychlé rozhraní USB,
•
nepřímo z analogového záznamu digitalizací v digitalizační kartě počítače.
Komprese videa probíhá v uvedených kamerách už při digitalizaci. Výhodou digitalizace v kameře je, že signál před digitalizací není zkreslován šumem, nevýhodou je, že uživatel nemá na tento proces žádný vliv. Dále výstup musí vyhovovat vhodnému standardu (např. DV - Digital Video pro domácí produkci) a tím je taky dána úroveň komprese. Naproti tomu digitalizace v digitalizační kartě (frame grabber) umožňuje uživateli kontrolu ve smyslu poměru mezi stupněm komprese a kvalitou. Tato karta navíc provádí dekompresi a zpětný převod na analogový signál v případě reprodukce na analogovém monitoru (TV přijímač), což se při střihu videa často používá. Komprese a dekomprese videa se v těchto zařízeních provádí ve speciálních obvodech nebo programech nazývaných kodeky (kompresor/dekompresor).
4.2 Video standardy Pod pojmem standardy rozumíme obvykle normy a doporučení, které definují způsoby realizace a používání různých technologií za účelem kompatibility různých zařízení. Tyto standardy vytvářejí různé národní a nadnárodní normalizační organizace (ISO, ITU-T, IEEE atd.) a jsou závazné pro výrobce a poskytovatele služeb. Příkladem jsou standardy komunikačních protokolů, normy pro elektrická zařízení atd. Jak už bylo řečeno, standardy analogového videa jsou založeny na televizních standardech.
Analogové standardy •
NTSC standard používaný v severní Americe a Japonsku
•
PAL standard v západní Evropě a Austrálii
•
SECAM standard ve Francii a východní Evropě
Jak bylo řečeno dříve, zobrazení videosnímku na televizním monitoru probíhá ve všech třech systémech jeho rozkladem po řádcích rastrovým způsobem – v každé řádku se rozsvěcují se barevné body obrazovky podle úrovně přicházejícího analogového videosignálu. Na CRT obrazovce se vysvětlují pomocí tří elektronových paprsků (pro každou barevnou složku jeden), které jsou vychylovány magnetickým polem do příslušného místa na řádku. Řádek je na začátku tzv. činného běhu synchronizován řádkovým synchronizačním impulzem Sh (obr. 4.1). Vzniká tak televizní rastr. Na konci řádku se paprsky vrátí v řádkovém zpětném běhu Zh na začátek následujícího řádku a vysvětluje se další řádek. Na LCD obrazovce se do bodů matice pixelů LCD panelu zapisují podobně po řádcích hodnoty barevných bodů videosnímku. Po zobrazení posledního 31
řádku je dokončeno zobrazení snímku a rozklad se vrací ve snímkovém zpětném běhu Zv na začátek prvního řádku a v době tzv. snímkového činného běhu se začne zobrazovat další snímek. Snímek je na začátku snímkového činného běhu synchronizován snímkovým synchronizačním impulzem Sv. Zobrazení řádkových i snímkových zpětných běhů je u CRT systémů potlačeno tzv. zatemňovacími impulzy.
Obr. 4.1 Televizní rastr se zpětnými běhy Po dobu zpětných běhů je zapotřebí dopadu elektronového svazku na rozkladovou elektrodu snímací elektronky resp. na stínítko obrazovky zabránit. To se u snímací elektronky děje přivedením synchronní a blokovací směsi impulsů na řídící elektrodu (Wehneltův válec), u obrazovky aplikací zatemňovací úrovně obrazového signálu doplněné zhášecími impulsy z vychylovacího generátoru). Doba zpětných běhů je ztracena pro přenos obrazových dat a je využita pro přenos synchronizační směsi a dalších přídavných dat. Šířka pásma televizního přenosového kanálu pro kvalitní reprodukci na obrazovkách je 6,5 MHz. Tato přijatelná hodnota byla dosažena za cenu tzv. prokládaného řádkování. Napřed se snímají a reprodukují liché řádky, které tvoří lichý půlsnímek a potom sudé řádky – sudý půlsnímek. Zavedení elektrooptických měničů nevakuových měničů (CCD, snímače, LCD obrazovky) změnu televizních norem, založených na tomto rozkladu, nepřinesou, neboť spojové kanály, umístěné do zatemňovacích intervalů, jsou provozně výhodné. Analogové video používá stejnou sekvenci záznamu videoinformace (tzv. kompozitní video nebo S-video) na magnetickou pásku jako u televizního rozkladu. Ten se potom následně přehrává na televizním přijímači. Počet řádků ve snímku je v normě PAL 625, z toho viditelných 576. Frekvence zobrazování snímků je u normy PAL 25 snímků, tedy 50 půlsnímků za sekundu (prokládají se po sobě liché řádky a sudé řádky jednoho snímku). V praxi se uvedené hodnoty normy PAL označují jako 625/50. Do každého řádku se zapisuje analogový videosignál. Poměr šířky a výšky snímku je 4:3, což při počtu 576 viditelných řádek ve snímku odpovídá fiktivnímu počtu bodů na řádku 768.
32
Při zobrazování analogového videa na monitoru počítače (po jeho digitalizaci v digitalizační kartě) se nepoužívá technika prokládání. Všechny řádky každého snímku jsou zapisovány do snímkového bufferu, který je potom na obrazovku vyčítán takovou rychlostí, aby nebylo vidět blikání obrazu (od 12 fps do 30 fps). Analogové půlsnímky jsou kombinovány do celých snímků při digitalizaci například technikou průměrování obou půlsnímků do jednoho snímku. Analogové barevné video obsahuje tři složky, které reprezentují barvu. Tyto složky tvoří YUV barevný prostor, který byl vytvořen především z důvodu možnosti příjmu barevného signálu na černobílých televizorech. Složka Y odpovídá jasu a složky U,V chromatičnosti. Mezi YUV a RGB prostory platí vztahy Y = 0.2125 ⋅ R + 0.7154 ⋅ G + 0.0721 ⋅ B U = B −Y V = R −Y Tyto hodnoty se přenášejí buď ve formě jednoho signálu - tzv. kompozitního videa do kterého jsou zkombinovány, nebo ve formě tzv. S-videa, což jsou dva signály - luminance Y a zkombinovaný signál chrominance U+V. Většina digitalizačních karet obsahuje kompozitní a S-video vstupy a výstupy a jen nejdražší profesionální zřízení zpracovávají komponentní Y, U, V signály zvlášť.
Standardy digitálního videa Digitalizace videa Digitalizace videa se řídí standardem ITU-R BT.601 (CCIR 601). Protože se analogové video skládá ze dvou kanálů – jasového a chromatického, je potřeba dvojí vzorkování. Norma CCIR 601 definuje 720 vzorků na řádek v jasovém kanále a 360 vzorků na řádek pro jednu složku v chromatickém kanále. Počet řádků ve snímku je 576. Navzorkovaný snímek má tedy v jasovém kanále Y v normě PAL 720 x 576 pixelů, v chromatickém UV kanále 2 x 360 x 576 pixelů . Tedy chromatický signál používá poloviční množství vzorků než u jasové složky (podvzorkování chromatických složek) z důvodu, že oko je více citlivé na změny jasu a méně na odchylky barvy. Na obr.4.2 je naznačeno toto vzorkovací schéma 4:2:2. Souřadnice Y´CBCR používané v NTSC standardu jsou modifikací souřadnic YUV.
Obr. 4.2 Vzorkovací schéma 4:2:2 Prakticky se používají také schémata 4:1:1, kdy je na každém řádku vzorkován u chromatického signálu každý čtvrtý pixel a 4:2:0, kdy je chromatický signál vzorkován faktorem 2 v horizontální i vertikálním směru. Výsledkem procedury vzorkování a následného kvantování je digitální videosignál.Ten je dále potřeba komprimovat z důvodu potřeby nižších datových toků.
33
Komprese videa Kompresní techniky pracují s digitalizovaným videosignálem, což je sekvence digitálních hodnot pixelů rastrových obrazů. Používají se dvě základní cesty komprese videa. • Komprese samotných individuálních obrazů (snímků) – prostorová komprese
•
Komprese založená na ukládání a přenášení rozdílů mezi sousedními snímky – časová (temporální) komprese. Také se používají termíny intra-frame komprese a inter-frame komprese. Způsoby komprese statických obrazů (především JPEG komprese) byly rozebírány dříve v jiných předmětech, proto se zaměříme na algoritmy mezisnímkové komprese. Princip mezisnímkové komprese je založen na tzv. klíčových snímcích, které se vytvářejí při vyvolání kodeku (např. každý šestý snímek). Pokud se scéna mění pomalu, tak mohou být intervaly větší. Tyto klíčové snímky mohou být komprimovány prostorovou kompresí, ale také nemusí. Snímky mezi těmito klíčovými snímky jsou nahrazovány rozdílovými snímky, jejichž obsahem je rozdíl dvou sousedních snímků, nebo rozdíl oproti klíčovému snímku. Pro mnoho sekvencí, kdy se mění jenom malá část snímku (např. mluvící hlava), bude podstatná část rozdílového snímku obsahovat nulové hodnoty, tedy se po kompresi uloží do mnohem menšího paměťového prostoru (obr.4.3).
Obr. 4.3 Mezisnímková komprese Komprese a dekomprese videa nemusí trvat stejnou dobu, obvykle je doba komprese mnohem delší než dekomprese, což koresponduje s požadavkem dostatečné rychlosti přehrávání. Rozeznáváme pak symetrické a asymetrické kodeky. Dále se kodeky dělí na hardwarové a softwarové kodeky. Úroveň komprese má samozřejmě vliv na kvalitu digitálního videa při přehrávání. Obecně platí, čím je komprese vyšší , tím může být kvalita nižší. Kvalita videa je dost subjektivní pojem, ale v praxi se používá hrubé dělení: • televizní (broadcast) kvalita – digitální televize •
téměř televizní kvalita – blízké digitální televizi
•
VHS kvalita – ještě akceptovatelná kvalita
V současné době jsou nejpoužívanějšími způsoby HW komprese videa při digitalizaci analogového videa ve snímacích zařízeních následující systémy: •
Motion JPEG (MJPEG)
•
Digital Video (DV)
34
MJPEG komprese spočívá v aplikaci klasické JPEG komprese na jednotlivé snímky bez použití mezisnímkové komprese. Analogové video je po digitalizaci uloženo v barvovém prostoru YUV s chromatickým podvzorkováním 4:2:2. MJPEG komprese probíhá s využitím speciálního HW přímo ve snímacích zařízeních. Každý výrobce implementuje svoje řešení, tedy neexistuje žádný standard. Výjimku tvoří MJPEG-A přijatý společnostmi, které vyvíjejí komponenty pro digitalizaci videa a který je podporován programem QuickTime. Tím je zaručena přenositelnost mezi různými zařízeními. Kompresní poměr je pro datový tok 3MB za vteřinu cca 7:1 a může se měnit ve smyslu větší komprese – menší kvalita. DV zařízení používají algoritmy podobné MJPEG. Rozdíl je především metodou podvzorkování chromatického signálu, kde se používá schéma 4:1:1. Chromatický signál se tedy vzorkuje v každém čtvrtém pixelu oproti jasovému signálu. Navíc se v DV zařízeních používá temporální komprese, ale pouze mezi dvěma půlsnímky. DV zařízení používají většinou konstantní rychlost toku dat – 3.25MB za vteřinu. Potom je prakticky dosažitelný kompresní poměr cca 5:1.
4.3 SW komprese videa Softwareové kodeky jsou určeny především pro multimédia na CD-ROM nosičích a také pro Internet. Upravené video se, např. ve střihovém programu, komprimuje pomocí kodeku, který je součástí programu. Dnes se používá následující čtveřice: Cinepak • •
Intel Indeo
•
Sorensen
•
MPEG
První tři kodeky jsou založeny na technice tzv. vektorové kvantizace. Každý obraz je rozdělen na malé obdélníkové bloky – ‘vektory‘. Každý kodek používá kolekci konstantních vektorů uspořádaných v kódové knize, které reprezentují typické vzory v obrazech. Mohou to být konkrétní barevné plochy, různě ostré hrany nebo různé textury. Kvantizace v podstatě nahrazuje každý vektor v obraze nejbližším vektorem z kódové knihy – jedná se v postatě o zobecnění skalární kvantizace. Vlastní komprese se potom provádí nahrazením každého vektoru jeho indexem z kódové knihy. Dekomprese je opačný proces přidělení vektoru určitému indexu z kódové knihy. Dekomprese je velmi rychlá a může být prováděna bez speciálního hardware, komprese je naopak náročný proces – vektorová kvantizace je silně asymetrická. U kodeku Cinepak má poměr mezi kompresí a dekompresí hodnotu 150. Všechny tři první kodeky používají dále temporální kompresi – klíčové snímky a rozdílové snímky. I když je dekomprese u těchto kodeků velmi efektivní, není s nimi možné dosáhnout pro středně výkonné procesory počítačů datových toků (tedy dostatečný stupeň komprese) pro plynulé kvalitní celoobrazovkové přehrávání. Proto je potřeba zmenšovat velikost a frekvenci snímků. Solidní VHS kvalita může být dosažena při velikosti snímků 320 x 240 pixelů a snímkové frekvenci 12 snímků za sekundu. Například kodek Sorensen dosahuje s těmito parametry zobrazování datového toku 50 kBps, což umožňuje zápis na CD-ROM nosiče a přenos přes sítě ISDN. Kodek Sorensen je také, na rozdíl od zbylých dvou, kompatibilní s technologií QuickTime.
35
4.4 MPEG standardy videa Popisované tři kodeky jsou sice dost rozšířené, ale nejsou standardem ani de facto. Tím je pro komprimované video několik mezinárodních standardů pro kompresi digitálního videa sloučených pod názvem MPEG – Motion Picture Expert Group. Pro video v multimédiích je vhodný standard starší MPEG-1, který nabízí dostatečně nízký datový tok především pro nosiče CD-ROM. Pro DVD a digitální televizi je vhodný MPEG-2. Nový standard MPEG-4 je pro integrovaná multimédia velmi perspektivní, nabízí hodnoty datového toku od 5 kBps do 4 Mbps. Standard MPEG-1 Tento standard nedefinuje kompresní algoritmus, ale pouze syntaxi datového toku a dekompresor. Tím umožňuje výrobcům definovat vlastní způsob komprese. V praxi se používají temporální komprese mezi jednotlivými snímky a prostorová JPEG komprese nebo vektorová kvantizace. MPEG kompresory nepoužívají klasickou temporální kompresi se sledováním pohybu celých objektů ve snímku a odečítáním pixelů jednoho snímku od druhého, ale prediktivní kompresi. Principem je rozdělení každého snímku na makrobloky např. 16 x 16 pixelů . Kompresní algoritmus se pokouší předpovědět, kam se makroblok přemístí v následujícím snímku. Princip predikce je docela jednoduchý – jsou vyzkoušena všechna možná posunutí makrobloku, a která poloha objektu nejlépe souhlasí s polohou v následujícím snímku, je vybráno (používá se funkce maxima dvojrozměrné korelace). Rozdílový snímek je pak vytvořen odečítáním pohybových vektorů predikovaných makrobloků od pohybových vektorů makrobloků klíčových snímků. Pohybový vektor je dán složkami které reprezentují velikost a směr posunutí predikovaného makrobloku. Výsledkem je snímek, ve kterém je jen málo nenulových pixelů a je tedy který je vhodný pro následnou kompresi (např. Huffmannovo kódování).
Časová komprese MPEG1 používá klíčové snímky – I-pictures, které jsou klasicky prostorově komprimovány. Rozdílové snímky získané predikcí jsou P-pictures (4. snímek v obr. 4.4) a mohou být získány z předchozího I-picture (1.snímek). MPEG umožňuje také dělat predikce z následujících I-pictures a P-pictures, tzv. zpětná predikce, vznikají tak B-Pictures. B-Pictures mohou vznikat také z následujícího I-Picture a předchozího P-Picture tzv. obousměrná predikce (5. snímek). Na obr.4.4 je znázorněna typická sekvence snímků GOP (Group of Pictures) snímků v pořadí IBBPBB, která začíná I snímkem. Tyto sekvence se v praxi používají, i když MPEG specifikace nepožaduje sekvenci kódování v nějakém pravidelném pořadí.
Obr. 4.4 MPEG temporální komprese Před každou kompresí je u MPEG-1 prováděno podvzorkování vzoru 4:2:0 (vzorkování barvy v každém druhém vzorku ve vodorovném i svislém směru oproti jasu). Velikost sním-
36
ku je u MPEG-1 omezena na 352 x 240 bodů, frekvence snímků 30fps a datový tok 1.86Mbps, což je vhodné pro záznam na CD. Komprese MPEG-1 zvládá komprimovat pouze celé snímky, nepodporuje kompresi snímků prokládaných. Standard MPEG-2 je pak určený pro komerční "stolní" DVD zařízení a pracuje s plným formátem 720 x 576 pro systém PAL, s možností prokládaného formátu a jeho kvalita je přibližně identická s TV vysíláním. Oproti MPEG-1 přináší komprese MPEG-2 podporu pro prokládané snímky, tedy půlsnímky. Dále používá proměnlivý datový tok, což umožňuje v náročnějších scénách videa použít více bitů pro kompresi a naopak v klidnějších scénách se použije méně bitů. Při stejném datovém toku a plném rozlišení dosahuje MPEG2 mnohem vyšší kvality obrazu než MPEG1 komprese. Nevýhodou komprese MPEG2 je na druhou stranu velmi vysoké zatížení procesoru při přehrávání, a prakticky žádný rozdíl v kvalitě oproti MPEG1 kompresi při nízkých rozlišeních. Pro streaming přehrávání v nízkém rozlišení snímků je tedy vhodná komprese MPEG1, zatímco pro vysoké rozlišení snímků a vysoké datové toky je vhodná komprese MPEG2 Standard MPEG-4 MPEG-4 je multimediální standard, popisující kódování obrazu i zvuku. Kodek je v MPEG-4 standardu konkrétní softwarová (nebo hardwarová) implementace, kódující a dekódující v některém z tzv. profilů MPEG-4. Všechny způsoby komprese videa používané v MPEG-1 a MPEG-2 tento standard umožňuje. MPEG-4 byl vyvinut opět společností Motion Picture Experts Group. Není to přesná definice komprese a komprimačních algoritmů, nýbrž je to množina parametrů a vlastností, které musí jednotlivé kompresory splňovat, aby byly s ostatními vzájemně kompatibilní. Známe tedy různé implementace kodeků v MPEG-4 standardu, které vybírají z definice MPEG-4 vždy to, co je pro dané použití nejvhodnější. Kodeky, využívající způsoby komprese MPEG-4, jsou např. Microsoft MPEG-4 v1, v2 a v3, DivX 4, DivX 5, XviD, H264. Základní odlišnosti od MPEG-1 a MPEG-2 Standard MPEG-4 se nedívá se na obraz jako celek, ale rozděluje ho na pozadí a jednotlivé objekty na tomto pozadí. Protože je standard MPEG-4 poměrně složitý, je dále rozdělen do několika tzv. profilů, které definují vlastnosti pro určité oblasti použití, které možné použít případným výrobcem kodeku. Shape coding je vyhledávání objektů ve snímcích a zakódování jejich tvaru. Objekt je zakódován tak, že se určí pixely, které k objektu patří a jejich průhlednost. Průhlednost se dekóduje pomocí černobílého obrázku s pixely o hodnotách 0-255, které určují zmíněnou průhlednost. Sprite coding - jde o kódování informace, která náleží k okolí objektu, jde tedy typicky o pozadí. V případě background sprite se jedná o celé pozadí - statický obrázek, který je možné zakódovat jen jednou. Tento princip byl zaveden do MPEG-4 kvůli jeho původnímu určení - videokonferencím, kde je pozadí téměř neměnné. Scalability (škálovatelnost) je možnost vytvářet různé varianty objektů jak v prostoru (spatial), tak i v čase (temporal). U temporal scalability lze dokonce zvětšovat rychlost snímků a zlepšit tak plynulost pohybu, přestože v původním záznamu je tato rychlost nižší.
Dalším doplněním je verze MPEG-4 AVC (Advanced Video Coding), přijatá jako standard H.264. Umožňuje ještě větší kompresi při srovnatelné kvalitě jako MPEG-2. Mezi vý37
znamné změny patří například možnost predikce obrazu i přes více I snímků, variabilní velikost bloků pro detekci pohybu od 4 x 4 bodů a vylepšené kódování I-snímků. Stupně kompatibility Jak již jsme si řekli dříve, všechny vlastnosti definované v MPEG-4 nemusí být při kódování a dekódování v konkrétním kodeku použity. Byly zavedeny tzv. stupně kompatibility, které definují vlastnosti, které je možné z hlediska kompatibility použít. Dekodér určitého stupně kompatibility je schopen dekódovat datový proud z kodéru stejného stupně nebo nižšího. Stupeň kompatibility je potom definován jako profil, který určuje vlastnosti, které je možné v tomto stupni použít. • Simple Visual Profile - je nejzákladnější profil, který umožňuje prediktivní kompresi pouze obdelníkových objektů.
•
Simple Scalable Visual Profile - přidává podporu pro temporal a spatial scalability.
•
Advanced Simple Profile - přidaný dodatečně, je založen na Simple Visual Profile s větší účinností komprese.
•
Core Visual Profile - přidává prediktivní kompresi objektů libovolného tvaru a temporalní scalability.
•
Main Visual Profile - umožňuje navíc prokládaný obraz, průhledné objekty a sprite kódování pozadí. Dnešní kodeky nejčastěji využívají Advanced Simple Profile, mnohé ho ale rozvíjejí o další vlastnosti a nedrží se přesně doporučených stupňů kompatibility, proto bývají paradoxně vzájemně nekompatibilní (DivX 4, DivX 5, XviD, 3ivX). Postupný vývoj kodeků samozřejmě přináší zvýšení komprese při zachování kvality.
4.5 Quick Time Jak vyplývá z předchozích informací, existuje více formátů pro digitální video. Tyto však nejsou normalizovány a nejsou ani navzájem kompatibilní. Dokonce ani standard MPEG nedefinuje formát, ale pouze datový tok. Ani do budoucna se nezdá, že by se situace nějak změnila ve prospěch nějakého univerzálního videoformátu. Jedním z pokusů, jak tuto situaci řešit je QuickTime firmy Apple Computer, který se stal de facto standardem. Je k disposici pro všechny počítačové platformy. Co je to tedy standard QuickTime? QuickTime je program, který manipuluje s objekty typu movies – filmy, což jsou v podstatě sekvence snímků (videosekvence), které byly popsány dříve. QuickTime film může ale obsahovat také další média – text, zvuk a statické obrazy. K disposici je přehráváč QuickTime Player jenom pro přehrávání filmů, který je k disposici zdarma a potom program QuickTime Pro s dalšími funkcemi, především konverze mezi různými formáty. Každý film obsahuje v uživatelském rozhraní QuickTime TimeBase – časovou základnu, která určuje rychlost přehrávání a vzájemnou synchronizaci médií a tedy přehrávání je možné na každé platformě. Navíc, pokud není možné při přehrávání snímky zobrazovat dostatečně rychle, jsou některé automaticky vynechány a celkové trvání filmu je zachováno. Tím je zaručena synchronizace např. se zvukem. QuickTime systém je otevřený, je možné jeho strukturu doplňovat o tzv. komponenty, které jsou pak součástí implementace. Například jsou v něm implementovány kodeky Sorenson, Cinepak a Intel Indeo, komponenty frame grabberů pro digitalizaci videa. Transkodery (transcoders) jsou komponenty pro převádění dat mezi různými formáty. 38
QuickTime má svůj vlastní formát MOV , který poskytuje velmi flexibilní způsob práce s videem. Pomocí vkládaných komponent je možné v QuickTime zpracovávat i další formáty (AVI, MPEG1, DV, OMF, atd.). Například při vývoji nové digitalizační karty dodá výrobce do architektury komponent programu QuickTime jednoduchou komponentu svého videodigitizéru. Tím je zajištěno, že aplikace založená na QuickTime standardu může snímat video přes tuto kartu a dále jej zpracovávat a konvertovat do jiných formátů. Výrobce nové karty nemusí do jejího ovladače implementovat všechny high-end funkce potřebné k jejímu používání, udělá to za něj QuickTime program. Jak bylo řečeno už dříve, standard MPEG nedefinuje formát videosouboru, pouze definuje strukturu datového proudu. Přesto je obvyklé ukládat datový proud do souboru v pořadí snímků, jak přicházejí v tomto proudu. Potom je takový soubor identifikován příponou .mpg. Tento soubor je pak možné také přehrávat v QuickTime programu. Formát AVI (nativní formát programu Video for Windows od Microsoftu) může být od verze 3.0 přímo v programu QuickTime také zpracováván.
4.6 Editace a příprava videa pro MM prezentace Nasnímání a záznam videa poskytuje jen hrubý materiál. Vytvoření hraného filmu, nebo krátkého klipu vyžaduje další činnost – editaci videa. Editace je vytvoření konečné montáže z kolekce jednotlivých částí. Hlavní činnosti editace jsou výběr, stříhání a organizování jednotlivých partií filmu a případné přidávání zvuku. Mohou být vytvářeny přechody mezi jednotlivými záběry, ale do vlastní části se při editaci nezasahuje. Post-produkce (Post-production) na rozdíl od editace manipuluje s filmem tak, že se zasahuje do jednotlivých částí až na úrovni snímků (např. změny barev, kontrastu atd). Také kombinování a překrývání jednotlivých částí jsou záležitostí post-produkce. S touto problematikou se seznámíte ve cvičeních tohoto předmětu.
39
5. Počítačové animace Po pojmem animace rozumíme postupného vytváření sady statických obrázků (2D i 3D) metodou malých změn v obrázcích následujících po předchozích. Ty pak snímáme do jednotlivých snímků a přehráváme s dostatečnou rychlostí, čímž získáme vjem pohybu jako u filmu nebo videa. Animovaný film je tedy druh filmu vytvořený z tzv. animačních klipů. Animované filmy vznikaly původně jako kreslené 2D, loutkové 3D, případně další technologie, od konce minulého století se uplatňuje počítačová animace.
5.1 Klasické filmové animace Klasický film je promítán rychlostí 24 snímků/sec, což je 24 obrazů/sec a tedy 1440 obrazů/min. U animací se v praxi používá 12 snímků/sec. U obou technik se přehrávají vždy dva snímky z jednoho obrazu. U animací je třeba jednotlivé obrazy scény, na rozdíl od videa, předem vytvořit. To je velmi náročné, protože to znamená vytvořit jich velký počet. V počátcích technologie animování se jednotlivé obrazy kreslily na papír a pak snímaly filmovými kamerami. Aby se ušetřilo toto velké množství práce, byly vymyšleny různé techniky. Nejznámější je tzv. cel animation – celuloidová animace. Měnící se objekty scény byly kresleny na průhledný materiál – cel a pokládány na neměnící se pozadí (např. Homer Simpson na pozadí obýváku). Při vytváření animace se pak do jednotlivých snímků překreslily jen měnící se objekty, pozadí se nepřekreslovalo. Tento princip se nakonec ukázal vhodný i v oblasti digitálních animací. Trojrozměrná animace používala miniaturní třírozměrné modely objektů (např. loutkové figurky), které se snímaly do snímků v různých málo odlišných polohách. Změna polohy figurky, nebo její části, se prováděla mezi jednotlivými snímky. Známé jsou české animované filmy od národního umělce Jiřího Trnky. Existuje samozřejmě možnost kombinování obou typů klasických animací, čehož se ve světě filmu velmi brzy využívalo. V dnešní době digitálních technologií je to ještě snadnější, kdy je už možné kombinovat animované klipy s živými videoscénami (například film Jurský park, nebo Hvězdné války).
5.2 Digitální animace Snímání obrazových sekvencí Místo snímání animovaných sekvencí na film nebo videokazetu analogovou filmovou kamerou máme dnes k dispozici digitální videokamery nebo digitální fotoaparáty propojené přímo s počítačem. To umožňuje snímat jednotlivé obrázky a ukládat je v digitální formě na disk. Programy vytváření animací pak umožní z těchto obrázků vytvořit animační klipy. Většina editačních video-aplikací umožňuje také tzv. frame grabbing, tedy získání jednoho snímku z animační sekvence (u Adobe Premiere je to funkce Stop Frame). To umožňuje kontrolu a případné modifikace jednotlivých snímků animace. Pro některé typy tradičních animací není kamera nutná – např. 2D animace kreslené na papír. Potom je možné využít klasického skeneru místo kamery, výhodou je možnost naskenování více obrázků naráz. Animované GIFy Místo používání více 2D obrazů, každý v jednom souboru, existuje pro animační sekvenci levnější způsob – více obrazů v jednom souboru. Je to především formát GIF89a, který umožňuje ukládání více obrazů formou subbloků především pro animace na Web stránkách.
40
Tyto soubory – animované GIFy mohou být přehrávány v nekonečné smyčce, nebo po určitou dobu. Web prohlížeče toto přehrávání umožňují. Existují programy, které umožňují kombinovat obrazy do jednoho GIF souboru, například Premiere a Flash. Toto řešení má také nevýhody: není možné do animovaného GIFu implementovat zvuk, je možné použít maximálně 256 barev, použitá bezeztrátová komprese je nízká, rychlost přehrávání závisí na rychlosti přenosu po síti. Když to shrneme, animované Gify jsou vhodné především v reklamních klipech na webu. Standardní digitální 2D animace Pro standardní digitální animace jsou v autorských programech (After Efects, Flash, Director) používány vhodné videoformáty (MOV, AVI, MPEG). Tyto formáty umožňují uloženou animační sekvenci načítat, editovat, konvertovat, přidávat zvuk a další klipy. Vhodnou platformou je pro tyto účely také QuickTime, který je vhodný zejména pro kreslené animace.
Digitální animační techniky můžeme rozdělit na dvě skupiny: •
sprite animace pro jednoduché pohyby objektů
•
Interpolační (key frame) animace pro složitější a komplexnější animování. Sprite animace
Tato technika digitálních animací je založena na podobném principu jako klasická celuloidová animace – pohyblivé objekty na neměnném pozadí. Objekty se mohou pohybovat po předem definovaných drahách, otáčet se nebo měnit velikost. Využívá se zde jedné důležité funkčnosti grafických editorů – používání vrstev. V jedné vrstvě je neměnné pozadí, v druhé proměnný objekt. Sprite animace může být vytvářena v grafickém programu následujícím postupem: Předpokládejme animaci pohybu planety po dráze nad pozadím povrchu hvězdy. První vrstva 1. snímku bude obsahovat pozadí povrchu hvězdy a ve vrstvě popředí bude obrázek naší planety. Pro 2. snímek uděláme kopii obou vrstev a ve vrstvě popředí posuneme obrázek planety po zamýšlené dráze. Pro 3. snímek provedeme kopii 2. snímku a posuneme planetu atd. až vytvoříme všechny snímky. Pozadí hvězdy se přitom kopíruje bez změny. Autorské programy např. After Effects umí takto vrstvené obrazy zkompletovat do animační sekvence. Tento způsob šetří práci animátora, ale nijak neovlivňuje způsob uložení obrazů zkompletované animace – každý snímek je jeden obrazový soubor. Sekvence snímků může být potom transformována do QuickTime filmu, do animovaného GIFu, nebo do SWF souboru aplikace Flash. Objekty, které se během sprite animace pohybují, mohou mít ještě další vlastnosti, které se při animaci mění – tvar, orientaci, viditelnost. Jednoduché pohybové sekvence, které lze snadno algoritmizovat, je možné vytvářet v autorských systémech (např. Flash, Director) programově. Nemusíme tak vytvářet a ukládat vlastnosti jednotlivých animovaných objektů ručně. Key frame animace Tato metoda z dílen Walta Disneye je založena na klasické metodě – rozdělení práce na vytváření tzv. klíčových snímků (key frames), kterou provádí zkušený animátor, a pak vytváření mezisnímků (in-between), které vytvářějí méně zkušení animátoři (in-betweeners). Animátor-choreograf udává tón celému filmu tím, že vymýšlí postavičky a maluje jejich pohyb. Protože malování celé sekvence je zdlouhavé a jedná se o rutinní práci, bylo úko-
41
lem choreografa vytvořit nejdůležitější (klíčové) snímky. Zbývající mezisnímky (inbetweens) malovali animátoři určení speciálně pro tuto práci. První snahy tvůrců programů pro 2D počítačovou animaci vedly právě k odstranění ručního malování mezisnímků. V současnosti může být vytváření mezisnímků, které jsou obvykle jen málo odlišné od klíčových, automatizováno počítačovým programem metodou interpolace. Klíčové snímky mohou být nakresleny ručně a digitalizovány, nebo vytvořeny v grafickém programu. Potom se vloží v autorském programu do animace a interpolaci provede tento program. Digitální obrazy jsou reprezentovány buď vektorově, nebo rastrově (bitmapově). Podle toho vytváříme vektorové nebo bitmapové animace. Typickým programem, ve kterém je možné vytvářet jednoduché vektorové animace (rotující loga, tančící text, měnící se barevné vlastnosti objektů) je Macromedia Flash. Animace v programu Flash jsou organizovány využitím časové osy (timeline), což je grafická reprezentace sekvence snímků.
Obr. 5.1 Časová osa programu Flash Animátor vkládá do vhodných posic na časové ose předem vytvořené klíčové snímky, potom volí typ animace (pohyb, změna rozměru, rotace) a její parametry a program dopočítá mezisnímky. V programu Flash se tato interpolace nazývá tweening animace. Pak se přidá další keyframe a proces se opakuje. Interpolace mezi snímky může být aplikována taky na rastrovou grafiku. Protože rastrová grafika nemá definovány nějaké objekty (obsahuje pouze pixely) je zde podstatné, aby byly jednotlivé objekty v obraze odděleny ve vrstvách. Pokud je animace tak jednoduchá, že ji můžeme algoritmizovat, potom je možné použít interpolace mezi klíčovými rastrovými snímky. Protože se jedná o rastrovou grafiku, mohou vzniknout problémy s převzorkováním a kvalitou obrázků. Pro tento typ animace je vhodným programem Adobe After Effects. Tento program je kompatibilní s programy Photoshop a Illustrator a tedy obrázky z Photoshopu mohou být do něj přímo importovány. Photoshop umožňuje práci s vrstvami a alfa kanály, což je pro tento typ animací vhodné. Podobně kresby z Illustratoru mohou být exportovány do rastrové grafiky i s vrstvami a následně do programu After Effects. 42
Obvyklý postupem tedy bude připravit v obou grafických programech klíčové elementy animace ve vrstvách, potom je importovat do After Effects a zde animovat. Program umožňuje prostorovou animaci pohybu po přímkách i Bézierových křivkách. Je možná také časová animace, založená na změně rychlosti pohybu mezi klíčovými snímky a to může být zase lineární nebo Bézierova funkce. Další typy animací jsou rotace, kdy se natáčí jednotlivé vrstvy s klíčovými snímky a změna měřítka, která animuje přibližování a vzdalování objektů. Dále mohou být na klíčové rastrové snímky aplikovány v grafických editorech různé filtry (např. rozmazání, různé barevné změny, zvýrazňování hran atd.).
5.3 3D počítačové animace V autorských programech 3D počítačové grafiky se pracuje s třírozměrnými animovanými objekty, které se zobrazují na dvojrozměrných zobrazovacích zařízeních (promítací plátno, obrazovka). 3D objekty získáváme pomocí různých typů modelování, což je jedna z oblastí 3D grafiky. Potom je potřeba tyto modely vizualizovat (rendrovat) na příslušných 2D zobrazovacích zařízeních, aby byl zachován prostorový vjem objektů. Nejjednodušším příkladem 3D počítačové animace je zobrazování 3D dynamické scény, jehož výsledkem je posloupnost rendrovaných 2D obrazů. 3D objekty, které jsou součástí scény, se mohou pohybovat, stejně jako kamera, která scénu snímá. V diskrétních časových okamžicích vždy vytvoříme model scény, umístíme do něj kameru a model zobrazíme jako 2D obraz. Tento postup je podobný klasické animaci, kdy je scéna taktéž snímána kamerou v diskrétních časových krocích. Výhodou 3D počítačové animace je také možnost aplikace algoritmů simulujících fyzikální jevy, jako je detekce kolizí, větru, proudění vody, dále algoritmy simulace pohybu virtuálních jedinců, aj. Počítačový animátor tak nemusí například simulaci pohybujícího se objektu provádět ručně, nastavením jeho polohy a orientace v každém snímku. Místo toho pouze nastaví počáteční podmínky a spustí počítačovou simulaci. Zadáním počátečních podmínek a spuštěním simulace získá uživatel realistickou animaci. Animační techniky
V moderní počítačové grafice došlo v posledních letech k výraznému rozvoji animačních technik, především v souvislosti s tvorbou 3D animovaných filmů (Jurský park, Shreck, Kozí příběh). Tyto techniky můžeme klasifikovat do následujících typů. •
Animace pevných objektů
•
Animace segmentových struktur
•
Dynamické simulace
•
Animace chování
Dalším klasifikačním kritériem je složitost animačních technik. Podle toho můžeme 3D animace dělit na nízkoúrovňovou a vysokoúrovňovou animaci. Nízkoúrovňová počítačová animace má blízko k teorii křivek, protože se v ní zabýváme reprezentací pohybu objektu po spojité dráze, jeho rychlostí, orientací, směrem atd. Do ní můžeme zahrnout animaci pevných těles z předchozí klasifikace. Vysokoúrovňová počítačová animace se zabývá dynamikou složitějších objektů (běžící živočich, simulace stříkající voda, oheň atd.). Do ní patří ostatní techniky z předchozí klasifikace.
43
Výhodou rozdělení operací na vyšší a nižší je možnost vytvářet knihovny pohybů, které slouží jako stavební kameny vyšší úrovně animace. Můžeme například vytvořit knihovnu gest, kroků či kolizí. Tyto základní funkce mohou být také parametrizovatelné. Potom můžeme používat funkce jako např. „utíká rychle“‚ „utíká ladně“, apod. 5.3.1 Animace pevných objektů
Pod tímto názvem se obvykle prezentuje pohyb 3D tělesa po křivce, aniž se mění jeho tvar. Příkladem může být pohyb auta po dráze. Pro tento typ animace (rigid body animation) se nabízí rozšíření 2D key frame animací do 3D oblasti. Prostorové polohy objektu mohou být definovány pomocí klíčových snímků scény na 3D křivce. Animátor zadává klíčové pozice v podstatě čehokoliv: především poloh objektů a úhlů a dále barev, textur, průhlednosti, aj. Úkolem programu je automatické generování mezisnímků pomocí geometrických transformací posunu a rotace. Objekty se u tohoto typu animace pohybují po 3D křivkách. Křivky se používají především pro definici dráhy a orientace pohyblivých objektů. Používá se parametrický tvar rovnice prostorové křivky x = x(t ), y = y (t ), z = z (t ) , t . Z pohledu počítačové grafiky spočívá úloha nalezení klíčových poloh v nalezení interpolační křivky. To je v případě 3D křivek principiálně jednoduché. Klíčové snímky se vytvoří v uzlových bodech křivky, která jsou definována parametrickou rovnicí. Určení pohybu objektu se potom skládá z následujících kroků: - nejprve se definuje dráha objektu – 3D křivka - určí se změny rychlosti – objekt se na křivce pohybuje různě rychle - nakonec se určí orientace objektu – objekt se na křivce různě natáčí Poloha objektu v konkrétním snímku se získá interpolací zadaných klíčových snímků a rychlost a orientace se určí pomocí geometrických transformací posuvu a otáčení. Obecný tvar transformační matice může mít tvar:
kde vektor T(t) definuje tvar křivky a rychlost pohybu a submatice A(t) definuje otáčení. Tento způsob 3D key frame animací přináší několik podstatných problémů. Principiálně nemůže interpolace takto jednoduchým způsobem nahradit inteligenci zkušeného animátora. Problémy vznikají také při aplikaci transformační matice. Elementy submatice A jsou obecně vzájemně závislé, což může způsobit při otáčení například změnu tvaru objektu. Proto byly vytvořeny alternativní metody pohybových animací 3D objektů. Jednou z nich je popis animace pomocí tzv. reparametrizace křivky. Změna parametrizace
Tento přístup je založen na definování dvou křivek – parametrické křivky Q(u), tedy cesty po níž se pohybuje animovaný objekt a křivky pohybu V(t), která charakterizuje změnu rychlosti při pohybu po cestě. Nazývá se také metodou dvojité interpolace. Křivky může
44
animátor zadat interaktivně například pomocí grafického rozhraní znázorněného na obr.5.2, kdy definuje průměty křivky do souřadných rovin a křivku rychlosti pohybu.
Obr. 5.2 Specifikace animačních křivek Generování animace potom znamená postupný výpočet pozic x(u), y(u), z(u) jednotlivých snímků na cestě Q(u) ve volených intervalech křivky V(t). Výpočet je obvykle naprogramován např. formou skriptu. Během vytváření animace může animátor obě křivky Q(u) a V(t) modifikovat. Výpočet se skládá z následujících kroků a je znázorněn na obr.5.3. Předpokládejme počáteční dráhu S0 v čase t0 a celkovou dráhu křivky Sm. •
Vypočítáme celkovou dráhu Sm na křivce Q(u)
Q
1
Sm = ∫
′(u ) du
0
•
Pro snímek v čase t = t0+∆t vypočítáme změnu dráhy z křivky pohybu ∆s =V(t)∆t.
•
Vypočítáme vzdálenost na křivce Q(u) novou velikost dráhy S =S0+∆s a při znalosti celkové dráhy Sm vypočítáme odpovídající hodnotu u na Q(u).
•
Dosadíme u do Q(u) a vypočítáme polohu x(u), y(u), z(u) objektu.
•
Obr.5.3 Určení polohy animovaného objektu
45
5.3.2 Animace segmentových struktur
Příkladem segmentové struktury (articulated structure) je postava člověka nebo jiného živočicha. Takovéto objekty se skládají ze systému pevných částí, které jsou mezi sebou spojeny a v každém spojení dvou segmentů je možno s oběma otáčet. Posuvné spojení se v případě těchto animací obyčejně neuvažuje. Segmentová struktura bývá na jednom konci pevně zakotvená. Je-li její druhý konec volný, říká se takové struktuře otevřená segmentová struktura a bodu, který je na jejím volném konci, se říká koncový efektor. Příkladem vícesegmentové struktury je lidská paže. Na jednom konci je paže pevně svázána s tělem, koncovými efektory jsou prsty. Schematický příklad jednoduché otevřené segmentové struktury je uveden na obrázku 5.4. Struktura je pevně zakotvena na pod1ožce a skládá se ze dvou částí. Jak v zakotvení, tak ve spojovacím uzlu se může struktura v jednom směru otáčet.
Obr.5.4 Jednoduchá otevřená segmentová struktura se dvěma segmenty Pokud chceme jednoznačně určit polohu tuhého tělesa v prostoru, potřebujeme k tomu zvolený souřadnicový systém a celkem šest čísel. Tři hodnoty určují souřadnice tělesa v prostoru a tři jeho natočení vzhledem k souřadnicovým osám. Tyto veličiny se jmenují stupně volnosti a jednoznačně charakterizují libovolný systém. Počet stupňů volnosti závisí na tom, kolik veličin lze při změně polohy tělesa měnit. Přidáme-li do systému nové těleso, zvýší se počet stupňů volnosti. Pokud budeme těleso svazovat pevnými spoji a budeme vytvářet segmentovou strukturu, bude se naopak počet stupňů volnosti snižovat. Segmentová struktura na obr. 5.4 se skládá ze dvou prvků. První je pevně zakotven na podložce, ale může se otáčet kolem jedné osy, druhý se může otáčet ve spojovacím kloubu opět pouze kolem jedné osy. Tato struktura má dva stupně volnosti, poloha koncového efektoru je plně charakterizována pomocí dvou úhlů α a β.
Θ
Všechny možné stavy, ve kterých může zvolená segmentová struktura být, tvoří stavový prostor této struktury. Okamžitý stav může být jednoznačně popsán tzv. stavovým vektorem (state vector). Délka stavového vektoru je stejná jako je počet stupňů volnosti segmentové struktury (v případě struktury na obr.5.4 je délka stavového vektoru 2 s parametry α, β). Stavový vektor budeme označovat
= (θ 0,θ1 , ...θ n )
Θ
kde θ i jsou možné parametry modelu.
Struktura na obrázku 5.4 je popsána stavovým vektorem = (α , β ) . Tímto stavovým vektorem je poloha koncového efektoru určena jednoznačně. Animace pohybu segmentové struktury potom odpovídá hledání posloupnosti jednotlivých stavových vektorů v jejím stavovém prostoru, tedy postupnému generování jednotlivých stavů. 46
Přímá a inverzní kinematika
Cílem animačního pohybu je v jednotlivých snímcích určit polohu koncového efektoru a tedy hodnoty stavového vektoru struktury (úhly natočení segmentů). Existují dvě metody, které řeší tento problém – přímá kinematika a inverzní kinematika. Přímá kinematika
Θ
Výpočet poloh koncového efektoru pomocí přímé kinematiky spočívá v postupném určení jednotlivých stavů stavového vektoru. Představme si např. virtuální figurku, která má za úkol položit skleničku na stůl. Nejprve stanovíme jednotlivé úhly natočení v rameni, poté v lokti a nakonec v zápěstí. Výsledkem tohoto postupu bude poloha skleničky (vlastně prstů jako koncového efektoru) na stole. Pokud bude pohyb figurky působit nepřirozeně a budeme muset například změnit úhel natočení ramene, změníme tím i tvar celé ruky a musíme postupovat znovu od posledního změněného místa. To je největší nevýhodou přímé kinematiky. Formálně můžeme slovně vyjádřený postup popsat vztahem X = f( )
Θ
Poloha koncového efektoru X je určena pomocí transformace f, která je sestavena na základě nové hodnoty stavového vektoru , v němž byly promítnuty všechny změny v jednotlivých stupních volnosti animované struktury. Algoritmy využívající přímé kinematiky jsou jednodušší z hlediska implementace. Využívání tohoto způsobu řízení modelu je však neintuitivní a pro animátora je zadávání jednotlivých parametrů pro každý segment často zdlouhavé. Z těchto důvodů je přímá kinematika používána spíše v případech, kdy je animace řízena nějakým vnějším popisem. Pro interaktivní vytváření pohybu je výhodnější tzv. inverzní kinematika. Inverzní kinematika
Θ
Při výpočtu parametrů jednotlivých spojů pomocí inverzní kinematiky jde o opačný postup nežli v předcházejícím případě. Cílem je nalézt stavový vektor Θ na základě informace o poloze koncového efektoru X. Formálně můžeme tento krok zapsat jako = f
−1
(X )
Poloha koncového efektoru X je známá, pomocí inverzní funkce f-1 určíme stavový vektor Θ. Inverzní kinematice se také říká cílem řízený pohyb (goal directed motion). Největším problémem inverzní kinematiky je, že funkce f je nelineární a analytický výpočet její inverze je pro jen trochu složitější hierarchie prakticky nemožný. Všeobecně používaným řešením je proto linearizace problému. K tomu se nejčastěji používá metoda inverze matice Jakobiánu, který je vícerozměrným rozšířením derivace funkce jedné proměnné. S dalším vývojem animačních technik a rozvojem filmového a herního průmyslu se do popředí zájmu dostává problém simulace lidských postav – virtuálních humanoidů. To představuje další úroveň modelování segmentových struktur, kdy se modeluje nejenom pohyb modelu, ale i jeho vzhled. Do zpracování vstupuje další vrstva, která tento problém řeší – simulace pokožky modelu. Tato problematika je mimo rámec tohoto předmětu. 5.3.3 Dynamické simulace Výše popsané animačním techniky jsou založeny na principech kinematiky. To znamená, že jsme při pohybu tělesa neuvažovali působení nějaké vnější síly. Dynamické animace (simulace) předpokládají, že na pohybující se tělesa působí vnější i vnitřní síly. Působením těchto sil dochází ke změnách pohybu objektů.
47
V kapitole 3D modelování – procedurální princip byl uveden systém částic jako jedna z modelovacích technik přírodních objektů. Systém částic je reprezentován jako soubor velmi malých prvků , jejichž vlastnosti se mění v čase. Mezi tyto vlastnosti patří především poloha, rychlost a směr pohybu a dále zrychlení, tvar a barva. Částice mohou v jistém okamžiku a místě vznikat, po určité době života mizí, mohou emitovat další částice a srážet se mezi sebou, i s okolními objekty. Částice je reprezentována bodem, může být však zobrazena i jako kapka, sněhová vločka, koule či jiný geometrický útvar, vše záleží na jevu, který částice modelují. Potom v počítačové grafice pracujeme s grafickými objekty, které jsou tvořeny v čase se dynamicky měnícími shluky částic. Tvorba jednoho obrázku dynamické sekvence založené na systému částic se obecně skládá z posloupnosti následujících kroků. 1. Na základě parametrů každé existující částice (poloha, rychlost, působící síla) procedura vypočítá její novou polohu, popřípadě další atributy. 2. V celém systému mohou procedury generovat nové částice. Ty vznikají buď v nějaké konkrétní oblasti, nebo mohou vznikat jako potomci jiných částic. 3. Každé nové částici se přiřadí její vlastnosti. 4. Částice, které překročily dobu svého života, nebo jiné hranice, zaniknou. 5. Obrázek částic se uloží.
a
F
Newtonovské částice Chování těchto částic je popsáno Newtonovým druhým pohybovým zákonem = m ⋅ . Zrychlení a a síla F jsou vektory v prostoru, hmotnost m je skalár. Stav i-té částice bude dán její polohou a rychlostí.
v
x& i = y& i z& i
p
xi = yi , z i
i
i
,
&i =
1 ⋅ mi
F
i
v
&i =
v
p
Když víme, že rychlost je derivací dráhy a zrychlení derivací rychlosti, platí i
(t )
Tím je pro systém n částic definována soustava 6n diferenciálních rovnic, 3 rovnice pro složky polohy a 3 rovnice pro složky rychlosti. Tato soustava rovnic je základem modelu tohoto systému. Nové polohy a rychlosti částic se získají řešením této soustavy rovnic.
Dynamické chování systému tedy ovlivňují síly Fi, které se mohou měnit v čase a jejich zdroje mohou být různé (gravitační síla, přitažlivá či odpudivá síla částic). Každá částice může mít přiděleny další atributy, které se mohou měnit (barva, tvar, vlastnosti povrchu). Řešení soustavy diferenciálních rovnic je prováděno numerickými metodami (Eulerova metoda, metoda Runge-Kutta). V jednotlivých časových krocích se vypočítávají síly působící na jednotlivé částice podle jejich zdrojů. Potom se řeší soustava rovnic a tak se získá stav systému v tomto kroku. V následujícím kroku se postup opakuje. Pokud jsou síly působící na částice pouze externí a neexistují interakce mezi jednotlivými částicemi systému, jsou částice nezávislé na jiných částicích. Příkladem může být gravitační síla působící na všechny částice stejně Fi = mi g. Pokud uvažujeme i vliv vzájemných
48
silových působení mezi částicemi, pro zjednodušení omezujeme působení vzájemných sil pouze na sousední částice. Jako příklad rozebereme model praporu vlajícího ve větru, který si můžeme představit také jako síť bodů-částic v prostoru (obr.4.20). Označení pi,j značí polohový vektor částice i,j. Na částice působí jednak vnější síly – vítr a gravitace a jednak vzájemné síly, které drží látku pohromadě.
Obr. 4.20 Síť částic Při výpočtu předpokládáme, že na částici pij působí silově pouze okolní částice pi+1,j, pi-1,j, pi,j+1 a pi,j-1. Vzájemné sílu mezi částicemi p a q můžeme v tomto případě simulovat pomocí pružiny o klidové délce s, což je vzdálenost mezi oběma částicemi. Když se pružina natáhne, změní se vzdálenost mezi oběma částicemi na jinou hodnotu d = p-q. Potom je možné tuto sílu popsat Hookovým zákonem. Síla působící mezi dvěma částicemi je podle tohoto zákona přímo úměrná natažení nebo stlačení pružiny.
dd
− s) ⋅
dd
kde ks je konstanta pružiny, poměr
d
F
= −k s (
udává směr vektoru síly.
Omezení v pohybu částic mohou být způsobena programovým omezením v jejich pohybu, nebo omezením překážkou ve formě pevného objektu ve scéně. V prvním případě to bývá omezení ve formě konstantní vzdálenosti od nějakého bodu scény. V druhém případě se jedná o kolize mezi částicemi a objekty ve scéně. Není možné např. nechat částici projít stěnou objektu, ale musí se řešit problém jejího odrazu. Je nutné rozlišovat mezi elastickou kolizí řešíme problém ideálního odrazu, a neelastickou kolizí, kdy po dotyku působí na částicí kontaktní síla. Potom například částice místo odrazu po objektu klouže. 5.3.4 Animace chování
Tento typ animace je rozšířením animace částic. Místo pevných částic zde vystupují populace živých tvorů, například stád ptáků nebo ryb. Jedná se v podstatě o animaci sociologické chování těchto entit. Každá entita je na rozdíl od částic charakterizovaná souborem pravidel, které řídí její chování. Příkladem aplikace takové animace je ve Walt Disney filmu The Lion King, kde je animován bezhlavý úprk stáda zvířat. V současnosti se v této oblasti pracuje na různých ambiciózních projektech. Příkladem může být systém simulace chování ryb (Tu, Terzopoulos). Model ryby má vlastnosti základního vidění, pohybové kapacity, která umožňuje reagovat na hydrodynamické síly (tedy plavat) a soubor pravidel chování. Tělo ryby je modelováno 23 uzly, které řídí její tvar. Uzly
49
jsou propojeny 91 pružinami, které modelují působení síly svalů. Model „plave“ jako skutečná ryba působením síly pružin - jejich ztlačováním a natahováním.Uzly jsou ovládány pomocí řídicích bodů parametrických ploch, čímž je modelována kůže ryby. Aspekty vzájemného chování ryb jsou implementovány souborem programových rutin, které simulují aktivity, jako vzájemné vyhýbání, vyhýbaní se překážkám, útěk, jídlo, kamarádství a další. Podrobnější popis těchto animací je mimo rámec tohoto předmětu.
50
6. Zpracování zvuku Zvuk je od ostatních médií odlišný v tom, že není vnímám zrakem. Zvukovým čidlem je ucho spojené nervovými vlákny s mozkem. Vjem zvuku je tedy podobně komplexní jev jako vjem světla, jeho kvantifikace je podobně obtížná. Podílí se na něm vlastnosti zdroje zvuku, vlastnosti prostředí ve kterém se šíří a subjektivní vlastnosti posluchače.
6.1 Povaha zvuku Když rozezníme ladičku piána, vnímáme v mozku vjem, který má určitou intenzitu a frekvenci. Jak se tento vjem dostane od chvějících se ramen ladičky do našeho mozku? Mechanické kmity ladičky stlačují periodicky vzduch, který ji obklopuje a tato místní změna tlaku se v důsledku vzájemné interakce molekul vzduchu šíří jako podélná zvuková vlna. Jakmile vlna dosáhne prostoru ucha, rozkmitá jeho bubínek s frekvencí šíření vlny. Tyto kmity se přenosem přes orgány vnitřního ucha přemění na nervové impulzy, které pak v mozku vnímáme jako zvuk. Všechny zvuky jsou vytvářeny přeměnou mechanické energie na vibrace vzduchu. Tato konverze může být i dosti složitá. Při rozkmitání kytarové struny trsátkem se na kmity přeměňuje mechanická energie ruky. Kmity struny se přes můstek kytary přenesou do dutiny těla kytary, kde jsou zesíleny a obohaceny o další frekvence, které jsou násobky základní frekvence struny a o šumové frekvence. Tak vzniká barva zvuku charakteristická pro kytaru. Amplitudy všech frekvencí obsažených v konkrétním zvuku tvoří frekvenční spektrum zdroje zvuku. Lidské ucho průměrného posluchače je schopné detekovat frekvence zvuku v rozmezí 20Hz-20kHz. Na obr. 6.1 je zobrazen časový průběh zvuku moře.
6.2 Digitalizace zvuku Digitalizace zvuku je klasickým příkladem digitalizace signálů. Při operaci vzorkování se musí použít vzorkovací frekvence podle teorie - 2 × 20 kHz, tedy minimálně 40 kHz. Vzorkovací frekvence pro audio CD byla stanovena na hodnotu 44.1 kHz z důvodu požadovaného času zaplnění kapacity celého CD média (údajně je to časová délka Beethovenovy 9. symfonie). Tato vzorkovací frekvence se používá i ve zvukových kartách počítačů. Z důvodu snížení datového toku (zmenšení datového souboru), se provádí podvzorkování na 22.05 kHz pro interpretaci hudby na Internetu, nebo na 11.025 kHz pro přenos řeči. Jiné hodnoty vzorkovací frekvence se používají pro nosiče DAT (Digital Audio Tape), z nich je obecně používaná 48 kHz pro nejlepší kvalitu. Tato frekvence je také používaná v lepších zvukových kartách při záznamu zvuku pro multimédia. Pokud chceme kombinovat 48 kHz zvuk s videem, je třeba takto digitalizovaný zvuk převzorkovat. Důvodem je, že většina programů editace videa podporuje vzorkovací frekvenci frekvenci 44.1 kHz . Abychom se převzorkovávání zvuku v multimediální produkci vyhnuli, je vhodné jej tedy digitalizovat vzorkovací frekvencí 44.1 kHz.
51
Kolísání vzorkovací frekvence (jitter) způsobuje ve svém důsledku vyšší šum v rekonstruovaném signálu (při zpětném převodu na analogový signál). Proto je nutné zajistit stabilitu vzorkovacího intervalu s přesností 2× 10-10 sec, t.j 0,2 µsec. Přesnost digitalizace zvukového signálu závisí na procesu kvantování. Počet kvantovacích úrovní závisí na velikosti dvojkového čísla, které charakterizuje velikost digitálního vzorku. Pro CD audiosignál byla tato velikost stanovena na 16 bitů, tedy odpovídající počet kvantovacích úrovní je 65536. To je dostatečné pro minimalizaci tzv. kvantizačního šumu. Pro zmenšení zvukového souboru lze použít 8 bitovou kvantizaci, pokud se smíříme s nižší kvalitou, což je možné pro přenos řeči. Další metodou, jak snížit počet kvantovacích úrovní a potlačit do jisté míry kvantizační šum je přidání malé úrovně náhodného šumu do analogového zvuku. Na obr.6.2 je prezentován zašuměný sinusový signál a jeho dvoubitové kvantování.
Touto metodou se změní spektrum kvantovaného signálu tak, že přehluší původní kvantovací šum nezašuměného signálu. Protože je tento přídavný šum náhodný, ucho jej částečně ignoruje.
6.3 Zpracování zvuku Zvuk na počítači zpracováváme v počítačových aplikacích, které dnes v podstatě nahrazují funkčnost drahých nahrávacích studií. To znamená, že jsou schopny záznamu zvuku z různých vstupů (mikrofon, analogový médium, digitální médium) v různých formátech a provádět jeho další editaci. Bohužel neexistuje aplikace, která by byla standardem, jako je např. Photoshop pro zpracování obrazu. Existuje několik programů, které jsou k disposici pro editaci zvuku bez speciálního hardware (Adobe Audition, Audacity, AudioEdit ). Programy pro editaci videa často obsahují prostředky pro záznam a zpracování zvuku. Ty se v multimediální produkci využívjí především v případě, když se jedná o zvukový doprovod videofilmu. Z důvodu absence průmyslového standardu zvuku pro zpracování na desktopových počítačích, budou v dalším funkce zpracování zvuku popsány obecně. Konkrétním zpracování zvuku se budeme zabývat ve cvičeních tohoto předmětu. Záznam a import zvuku Desktopové MM počítače jsou dnes běžně vybaveny zvukovou kartou, k ní připojeným vnějším mikrofonem a reproduktory a nějakým programem pro záznam a editaci zvuku. Pro běžné zpracování do MM produktů je toto základní vybavení dostatečné. Pokud chceme občas pro MM aplikaci zpracovávat zvuk s vyšší kvalitou, museli bychom MM počítač vybavit kvalitnějšími prostředky záznamu a reprodukce. Je však vhodnější si pro takové jednorázové akce zjednat zpracování u profesionálního studia. Před záznamem zvuku je třeba nastavit parametry frekvence vzorkování a bitovou velikost vzorku. Běžné hodnoty jsou 44.1 kHz a 16 bitů. Pokud chceme snížit velikost datového souboru, snižujeme tyto hodnoty na poloviční. Z důvodu menšího zhoršení kvality záznamu je lepší snížit vzorkovací frekvenci a ponechat velikost vzorku, než obráceně. 52
Jednoduchý výpočet velikosti zvukového datového toku: r⋅s 8 kde V je velikost v bytech/sec, r vzorkovací frekvence v Hz a s velikost vzorku v bitech. Pro hodnoty r = 44.1 kHz a s = 16 bitů vychází V = 86 kB/sec, tedy 5MB/min. Pro stereo zvuk bude hodnota dvakrát větší. Nepříjemným aspektem záznamu zvuku je nastavení jeho správné úrovně (hlasitosti). Pokud nastavíme úroveň vstupu do převodníku nízkou, výsledný signál bude malý a citlivý na rušení šumem. Pokud bude vstup velký, může nastat zkreslení ořezáním. Optimálním nastavením je maximální možná úroveň, ale bez ořezávání. Aplikace obvykle nabízejí měření úrovně, takže je možné úroveň při záznamu monitorovat s výstrahou ořezání. Nastavení správné úrovně záznamu je obtížné zejména v případě živého nahrávání. Některé aplikace nabízejí automatické řízení zesílení. Některé zvukové karty nabízejí automatickou korekci úrovně podle amplitudy přicházejícího signálu. Jednoduchou alternativou záznamu zvuku je import z audio CD nosiče. I když má audio CD rozdílný formát než CD-ROM, může být vhodnými programy načten. Například QuickTime obsahuje komponentu pro import dat z audio CD, která umožňuje načíst zvukovou nahrávku jako běžný soubor. Další možností je stahování nahrávek z Internetu, obvykle v MP3 formátu, legálnost stahování je řešena např. produktem I-Tunes od firmy Apple. Editace zvuku Na následujícím obrázku je zobrazeno okno editačního programu Audacity. V okně editoru můžeme provádět veškeré editace, které aplikace nabízí. Existuje několik tříd operací, které můžeme provádět s digitálním záznamem zvuku. V dialogovém okně příslušné aplikace se zobrazuje editační okno s menu a ovládacími ikonami. V okně se dále zobrazují časové osy - stopy (pro stereo jsou dvě) časového průběhu zvukového signálu. V =
53
V dalším je uveden pouze stručný přehled editačních funkcí, podrobnější seznámení bude ve cvičeních. • Ořezávání a vkládání – je možné označit část signálu, vyjmout a popřípadě přemístit jinam •
Kombinování /mixování) – více pořízených záznamů lze sloučit do jednoho s možností manipulace s jejich hlasitostmi
•
Vytváření krátkých smyček – pro vytváření nepřerušovaného tónu (používá se hlavně v elektronických nástrojích)
•
Korekce pomocí hradlování (gates) – například odstraňování šumu pozadí v době, kdy je ve zvukovém záznamu ticho
•
Frekvenční filtrace – odstraňování frekvencí, které ve zvuku nechceme (šum, sykot, některé nízké frekvence – hučení, rachot atd.)
•
Efekty, které mění charakter zvuku (míchání se zpožděným zvukem – ozvěna, transformace frekvenčního spektra do jiného – equalizace, změna obálky zvukového signálu – zesilování a slábnutí, vkládání nebo ubírání vzorků – změna trvání části zvuku a mnoho dalších.
6.4 Komprese zvukového signálu Tříminutový stereo song může za obvyklých podmínek vzorkování a kvantování zabrat téměř 30MB paměti. To je docela dost především z hlediska šíření po Internetu. Z toho vyplývá požadavek na nutnost komprese zvukového signálu. Je známo, že metody komprese mohou být bezztrátové nebo ztrátové. Z bezztrátových metod je možné u zvuku použít Huffmanovo kódování v případě, že velikost vzorků je většinou pod nějakou maximální úrovní, která charakterizuje malou úroveň. Toto kódování je totiž založeno na pravidle, že znakům s velkou četností výskytu se přidělují krátké kódy, znakům s menší četností delší kódy. Další možností bezztrátové komprese je odstranění ticha, tedy velmi nízkých úrovní. Potom jsou tyto mezery s hodnotou nula kódovány RLE metodou bezztrátové komprese. V dalším se budeme zabývat ztrátovými kompresními metodami. Komprese řeči Telefonní společnosti používají digitální audio od šedesátých let minulého století. Z důvodu limitované šířky pásma telefonních linek vyvinuly kompresní techniky známé jako compandind / expanding. Metoda je založena na nelineárním kvantování, kdy jsou nízké úrovně signálu kvantovány hustěji než vyšší úrovně .
Obr.6.4 Logaritmické kvantování
54
Nelineární funkce je obvykle logaritmická. Výsledkem je komprese, protože je hodnota vzorku zakódována menší velikostí binárního čísla (např. místo 12 bitů jen 8 bitů). Existují dvě různé logaritmické komprese definované ITU doporučením: •
µ-law pro Severní Ameriku a Japonsko
•
A-law pro zbytek světa
Komprese µ-law je definována rovnicí y=
log(1 + µ x ) log(1 + µ )
pro x ≥ 0 .
Parametr µ určuje úroveň komprese a pro telefonii je µ = 255. Další techniky komprese navržené pro telekomunikace jsou založeny na DPCM - Diferenciální Pulzní Kódové Modulaci. Je to obdoba temporální komprese u videa, kdy se přenášejí místo hodnot vzorků rozdíly mezi za sebou jdoucími vzorky. Základní Diferenciální Pulzní Kódová Modulace – DPCM je založena na predikci hodnotu následujícího vzorku z předchozích. Potom se přenáší rozdíl mezi predikovanou a skutečnou hodnotou vzorku. Pokud je predikce dobrá, rozdíl je malý a stupeň komprese může být velký. Protože se zvuková vlna může na rozdíl od videa měnit velmi rychle, takže rozdíly mohou být velké a stupeň komprese nízký. Adaptivní Diferenciální Pulzní Kódová Modulace – ADPCM nabízí možnost další komprese pomocí dynamické změny kvantovacího kroku. menší diference se kvantují menším krokem, větší diference větším krokem. Percepční komprese zvuku Efektivní ztrátová komprese je založena na identifikaci zvukových dat, která jsou pro sluchový vjem nevýznamná a jejich následném odstranění ze signálu. Ucho a mozek nevnímají všechno, co je obsaženo ve zvukovém signálu. Nevnímáme signály příliš tiché, tedy pod prahem slyšitelnosti a signály přehlušené silnějším signálem. Práh slyšitelnosti je minimální hodnota, kterou ještě slyšíme a závisí na frekvenci. To je znázorněno grafu prahu slyšitelnosti na obr. 6.5.
Obr. 6.5 Frekvenční práh slyšitelnosti Frekvence na okrajích slyšitelného pásma musí mít mnohem větší intenzitu, aby byly slyšitelné. Není tedy třeba zahrnout tyto frekvence do digitalizovaného signálu, pokud jsou pod prahem slyšitelnosti. 55
Algoritmus komprese používá tzv. psychoakustický model – matematický popis toho, jak ucho a mozek vnímají zvuk. Při příchodu silného tónu dochází k modifikaci prahu slyšitelnosti v jeho okolí – tzv. maskování v okolí silného tónu (obr.6.6).
Obr.6.6 Maskování silnými tóny Maskování nám umožňuje vypustit další frekvence v okolí silného tónu a navíc je maskován také kvantizační šum. To umožňuje dodatečnou kompresi metodou hrubšího kvantování frekvencí, které jsou už nad prahem slyšitelnosti. Praktický přístup je založen na rozdělení frekvenčního pásma obvykle na 32 subpásem a ze střední hodnoty signálu každého subpásma na základě psychoakustického modelu je vypočítána maskovací úroveň. Pokud je signál v subpásmu menší než maskovací úroveň, pásmo je z dalšího zpracování vyřazeno. Tento způsob komprese zvuku je realizován ve videostandardech MPEG. Standard MPEG-1 specifikuje tři vrstvy komprese zvuku. Výsledkem je datový tok 192 kbps u Layer1, 128 kbps u Layer2 a 64 kbps u Layer3, pro stereo jsou hodnoty dvojnásobné. V současné době je populární komprese MPEG-1 of Layer3 – formát MP3, která dosahuje kompresního poměru 10:1 při vysoké kvalitě a je vhodný pro přenos hudby. Protože opakovaná komprese a dekomprese zhoršuje kvalitu, není vhodné formát MP3 používat během zpracování zvuku. Je zde vhodné používat nekomprimovaných formátů. Formáty zvukových souborů V současné době jsou používány na třech počítačových platformách jejich proprietární formáty zvuku. Jsou to AIFF pro Macintosh, WAV pro Windows a AU pro Unix. Každý může být používán pro ukládání a přenos zvuku pro CD disky, i pro DAT pásky. Tyto formáty podporují jak nekomprimovaná tak komprimovaná data. Jedná se o otevřené formáty, které jsou schopné akceptovat další možné nové způsoby komprese a jiné parametry digitalizace. Výjimkou je MP3 formát, který používá pouze percepční metody komprese. Všechny tři počítačové platformy podporují AIFF, WAV, AU i MP3. Totéž platí samozřejmě i pro QuickTime a aplikace, které ho používají.
Další formáty se týkají tzv. streaming zvuku, což je obdoba streaming videa - produkce hudby na sítích v reálném čase. To umožňuje produkci zvuku při jeho stahování, aniž by se musel předem uložit na disk. Prvním audio stream formátem byl RealAudio firmy Real Networs, dnes RealAudio 8, které používá svoji proprietární kompresi ATRAC3. Využití kompresní technologie ATRAC3 nabízí větší zvukovou kvalitu při vyšším datovém toku nad 128 kb/s. Ten je určen pro širokopásmové internetové připojení, ale RA8 by se tak mohlo více rozšířit i v oblasti formátů používaných pro ukládání hudby a nejen pro jejich streaming na Internetu.
56
Podle RealNetworks nabízí RA8 při poloviční velikosti souborů stejnou kvalitu jako MP3. Tzv. CD kvalitu nejrozšířenějších MP3 souborů s rychlostí datového toku 128kb/s bude RA8 nabízet již při 64 kb/s. Také standard QuickTime nabízí streaming zvuk a může být používán při přenosech živých rozhlasových koncertů a jako internetový ekvivalent radiových stanic. MP3 formát je také vhodný pro streaming audio, ale má příliš velké požadavky na obyčejné modemy, pro ADSL modemy je vhodný. Existuje také tzv. ‘low-fidelity’ formát s menšími hodnotami datového toku, ale na úkor kvality.
57
7. Integrace médií do MM aplikace Existují dva modely spojování médií do jednoho MM produktu: stránkový model (page-based) a synchronizační model (synchronization-based). V prvním případě texty, obrázky, video a zvuk jsou v MM produktu uspořádány podobně jako v knížkách nebo časopisech. Časově závislé elementy (video, zvuk) jsou vloženy celé do stránek, jako by to byly např. obrazy a zabírají pevnou část paměti. Jejich řízení při přehrávání je omezeno na povely Start a Stop. Jednotlivé stránky mohou být spolu spojovány pomocí hypertextových odkazů, sled zobrazování a přehrávání jednotlivých stránek určuje uživatel. Takové MM produkty se obvykle nazývají hypermédia. Klasickým hypermediálním systémem je služba World Wide Web sítě Internet. Naproti tomu u synchronizovaných multimédií (také timeline multimédia) je řídícím principem čas. Elementy prezentace jsou uspořádány v čase tak, jak si tvůrce představoval sekvenci jejich přehrávání. Přechody mezi jednotlivými elementy mohou být realizovány různě (např. postupné mizení). Další vlastností tohoto modelu je paralelizmus – více médií může být přehráváno současně např. videoklip a doprovodný text. Je jasné, že kardinálním požadavkem je zde vzájemná synchronizace jednotlivých médií.
7.1 Hypertext Základním médiem hypermediálních produktů je hypertext. Hypertext je text rozšířený o propojení – odkaz na jiné části textu, buď v jednom dokumentu, nebo jiných dokumentech, které mohou být uloženy na různých místech. Odkaz je část textu, který se od normálního textu nějak vizuálně odlišuje (např. barvou). Místo výskytu odkazu se nazývá zdroj odkazu, místo, na které odkaz ukazuje, je cíl odkazu. Pokud na zdroji vznikne nějaká událost (např. klik myší), je provedeno propojení na cíl a tento se na obrazovce zobrazí. Cílem může být zase text (u hypermedialního produktu také jiný grafický objekt). Je to něco podobného, jako křížové odkazy v tištěných publikacích. Prakticky to všichni používáme ve službě Internetu WWW, což je dnes nejznámější hypermediální systém. V současné praxi existuje více druhů aplikací s širokými možnostmi vytváření hypertextu. Jsou to textové editory, sazbové programy, Adobe Acrobat pro PDF dokumenty a značkovací jazyky HTML (Hypertext Markup Language) nebo XHTML pro vytváření WWW stránek. V dalším bude stručně popsán obecný princip vytváření hypertextových vazeb v HTML a PDF dokumentech. Realizace odkazů v hypertextu Základními elementy hypertextu jsou tzv. uzly na které je rozdělen. Odkazy jsou potom vazby na jednotlivé uzly. Jako uzly mohou být označeny soubory, web místa, konkrétní stránky web míst, začátky stránek dokumentů, nebo označený text v dokumentu. Vazby na tyto uzly se pak při vytváření hypertextu realizují různými prostředky . V HTML a XHTML dokumentech se využívá pro identifikaci cíle vazby adresa URL – Uniform Resource Locator. Jak je známo, URL lokalizuje tzv. zdroje- resources Internetu (přistupné přes HTTP, SMTP a FTP protokoly). Například URL univerzitní knihovny www serveru Univerzity Pardubice je http://www.upce.cz/knihovna. Prakticky se v HTML dokumentech realizují jednosměrné jednoduché vazby pomocí tagu A - anchor, tím se označí zdroj vazby a jeho atribut href , což je ukazatel typu URL na cíl vazby. Atribut href má přiřazenou hodnotu, což je jméno www stránek cíle vazby. Pokud má hodnota href na začátku znak #, znamená to, že cíl vazby je uvnitř konkrétní stránky. Dále je uveden příklad hypertextové vazby v HTML kódu.
58
HTML 4.0 specifikace Takto definovaná kotva A ve zdrojovém HTML kódu se potom objeví v hypertextu jako zvýrazněná URL adresa http//www.w3.org. Po kliknutí na zvýrazněný text se zobrazí obsah cíle, který je určen hodnotou ukazatele URL, v našem příkladě specifikace HTML 4.0 na WWW stránkách konsorcia W3C . V PDF dokumentech můžeme realizovat jednosměrné jednoduché vazby v programu Adobe Acrobat. Cílem vazby v PDF dokumentu mohou být obdélníková oblast textu nebo stránka v tom samém dokumentu nebo v jiném PDF dokumentu. Dále mohou být pomocí vazby otevřeny jiné datové soubory, zvuk nebo video. Přidání vazeb v Acrobatu je realizováno ve dvou krocích. Volbou nástroje Vazba a obtažením textového řetězce označíme zdroj vazby. V druhém kroku se zobrazí dialogové okno, kde se nastaví vzhled zdroje, a cíl vazby, což může být jiný PDF soubor, obrázek, zvuk atd. Dialogové okno pro vytvoření vazby je na obr. 7.2.
Obr. 7.2 Dialogové okno vazeb V PDF dokumentu
7.2 Hypermédia V dalším budeme předpokládat hypermediální aplikace web služby Internetu. Jak plyne z předchozího, hypertextová vazba v HTML nebo XHTML dokumentech, přenášených web službou, je uskutečňována s použitím kotvy s atributem href, který má hodnotu ukazatele typu URL na cíl vazby. V hypertextovém dokumentu je to obvykle ukazatel na hypertextovou stránku. Co se ale stane, když bude kotva ukazovat na jiný typ zdroje – jiné médium, než je HTML stránka ? Jak HTTP server pozná, jaký typ informace odesílá? Odpověď je, že server má přístup do konfigurační databáze, která provádí mapování přípon souborů, tedy typů souborů. Když server přijme od uživatele stránek nějaký soubor, dostane také informaci o datovém typu ve formě MIME typu (Multipurpose Internet Mail Extension). U hypertextu je to typ text/html. Vzniká další otázka – co udělá prohlížeč, když dostane od serveru jiný typ souboru než je text/html? Prohlížeč musí být konfigurován tak, že po přijetí takového souboru se spustí 59
tzv. pomocná aplikace (helper application), která přijatý typ dat umí zobrazovat. Příkladem může být Windows Media Player. Předpokládejme, že má prohlížeč nakonfigurované použití pomocné aplikace pro přehrávání MPEG videa. Potom, když klikneme v hypermediální prezentaci na kotvu s atributem href ukazujícím na MPEG videoklip, bude tento ze serveru načten a operační systém pak video přes pomocnou aplikaci spustí. Je třeba si uvědomit, že v případě používání pomocných aplikací není MPEG video součástí hypertextové informace. Video a audio je vhodné v prohlížečích zpracovávat způsobem těchto pomocných aplikací. Jiným řešením mohou být tzv. zásuvné moduly (plug-ins) implementované přímo do prohlížečů. Příkladem takového modulu je QuickTime. Jakmile má prohlížeč možnost získávat a zobrazovat jiná média než hypertext, musí existovat možnost, jak je při návrhu zakomponovat do Web stránek. Následující fragmenty HTML prezentují dvě možnosti použití, jednak pomocí atributu href, nebo pomocí vloženého IMG elementu. 1. Podívejte se na tento obraz 2.
V prvním případě se v textu zobrazí: Podívejte se na tento onion.jpg obraz a po kliknutí na zvýrazněný text se příslušný obrázek zobrazí v samostatném okně. Ve druhém případě se obrázek v prohlížeči přímo zobrazí na běžné stránce. V novějších prohlížečích se používají elementy typu OBJECT, které umožňují vkládat do stránek všechny typy médií, včetně skriptů a Java appletů. Pro tento účel má element OBJECT atribut data jehož hodnotou je URL ukazatel na soubor, který mají být zobrazen. Dále je typický příklad použití.
Toto je prima film
Pokud je k disposici zásuvný modul QuickTime, zobrazí se text elementu
a videoklip clip2.mov elementu se přehraje. Pokud není k disposici, zobrazí se místo videa obrázek still2.jpg a následná textová informace.
7.3 Synchronizovaná multimédia Hypermediální produkce je v čase organizována volbou vazeb uživatelem. To není vždy žádoucí situace v případech, kdy je třeba nechat běžet nějaký MM produkt např. na výstavě, v obchodě atd. V takovém případě musí být časová následnost jednotlivých elementů produkce připravena předem. Vhodným systémem pro takovou organizaci MM produktu je okno timeline - časová osa. 60
Timeline v MM autorských systémech je prakticky stejná jako v editačních programech pro zpracování videa a animací, jako jsou Adobe Premiere nebo Adobe After Effects. V okně timeline je možné slučovat všechna média ve vhodném pořadí, nastavovat dobu jejich trvání, vlastnosti, přechody mezi nimi, ovlivňovat vzájemnou synchronizaci, vytvářet animace textu a statické grafiky atd. Vhodnými programy jsou pro tyto účely například Macromedia Director a Macromedia Flash. Jejich používání je součástí cvičení tohoto předmětu. SMIL Timeline je vizuální rozhraní, které usnadňuje organizaci multimédií v čase, ale není to jediný prostředek. SMIL (Synchonized Multimedia Integration Language) je značkovací jazyk určený pro vytváření časové struktury MM prezentací. SMIL je textově orientovaný jazyk založený na XML specifikaci. Je definován jeho Document Type Definition (DTD), takže je známa syntaxe jeho tagů. Základními elementy jsou ve SMIL dokumentu synchronizační elementy par – paralel, seq – sequence. Popis jazyka SMIL je mimo rozsah této výuky.
Použití synchronizačních elementů si ukážeme pouze na příkladu těla SMIL dokumentu, který spojuje dva obrázky, jedno QiuckTime video a jeden zvukový klip do jednoduché prezentace. Budeme je zobrazovat v následující sekvenci: -
Jako první se spustí videoklip m1 zároveň se zobrazením image1 Po 5 sec bude image1 překryt obrázkem image2, který bude zobrazen 10 sec. Po 10 sec ze znovu zobrazí image1 po dobu 15 sec. Zvukový klip sound1 se spustí za 5 sec od spuštění videa a trvá po dobu 20 sec.
Tělo SMIL dokumentu bude potom vypadat následovně: <par>