====== B0B39MM1, BBB39MM1 – Multimedia 1 ======
===== Úvodní informace =====
[[http://dcgi.felk.cvut.cz/|{{:courses:b4m39mma:dcgicoloralphasmall.png?100||Katedra počítačové grafiky a interakce}}]]
Tato stránka je oficiálním zdrojem informací pro studenty předmětu B0B39MM1 zaměření Multimédia bakalářského programu [[http://sit.fel.cvut.cz/|SIT]] a předmětu BBB39MM1 bakalářského programu [[https://www.fsv.cvut.cz/uchazeci/bakalarske-studium/scenicke-technologie/| Scénické technologie]] na [[http://www.fel.cvut.cz/cz/|Fakultě elektrotechnické Českého vysokého učení technického v Praze]]. Předmět je zajišťován [[http://dcgi.felk.cvut.cz/|Katedrou počítačové grafiky a interakce]] (K13139). Na výuce se podílí [[http://radio.feld.cvut.cz/|Katedra radioelektroniky]] (K13137). Praktickou část předmětu zajišťuje [[http://www.iim.cz|Institut intermédií]] (IIM) při FEL ČVUT v Praze.
* **Přednáška**: Pondělí, 9:15 - 10:45, 1.-7. týden: [[ https://navigate.fel.cvut.cz/static/demo/index.html?map-item=T2:D3-309 | místnost T2:D3-309]], 8.-14. týden: [[ https://navigate.fel.cvut.cz/static/demo/index.html?map-item=T2:C3-340 | místnost T2:C3-340]]
* Ing. Roman Berka, Ph.D., berka (at) fel (dot) cvut (at) cz K139 - přednášky 1., 7.-14.
* Ing. František Rund, Ph.D., xrund (at) fel (dot) cvut (dot) cz - K137 - přednášky 2., 3., 6.
* Dr. Ing. Libor Husník, husnik (at) fel (dot) cvut (dot) cz - K137 - přednášky 4., 5.
* **Cvičení**: Pondělí, 11:00, 12:45, 14:30 a 16:15, [[http://www.iim.cz|Institut intermédií]], místnost T2:H1-24c - hledejte zamřížované dveře s označením [[ https://navigate.fel.cvut.cz/static/demo/index.html?map-item=T2:H1-25 | T2:H1-25]] v přízemní chodbě v halových laboratořích FEL).
*
* Ing. Roman Berka, Ph.D., berka (at) fel (dot) cvut (at) cz - Katedra počítačové grafiky a interakce - cvičení 11:00, dílna II a IV.
* Ing. Ondřej Slabý, slabyon3 (at) fel (dot) cvut (dot) cz - Katedra počítačové grafiky a interakce - cvičení 12:45, 14:30
* Ing. Adam Zizien, zizieada (at) fel (dot) cvut (dot) cz- Katedra radioelektroniky - cvičení 16:15
* Ing. Matěj Hužvár, huzvamat (at) fel (dot) cvut (dot) cz- Katedra radioelektroniky - cvičení 16:15
* Ing. František Rund, Ph.D., xrund (at) fel (dot) cvut (dot) cz - Katedra radioelektroniky - cvičení Dílna I a II.
* **Rozvrh předmětu**: [[https://intranet.fel.cvut.cz/cz/education/rozvrhy-ng.B251/public/html/predmety/31/32/p3132706.html|B0B39MM1]],[[https://intranet.fel.cvut.cz/cz/education/rozvrhy-ng.B251/public/html/predmety/75/92/p7592906.html|BBB39MM1]]
==== Doporučená literatura ====
Tým realizující předmět Multimédia I napsal učební text pro tento předmět. V lednu 2016 vyšla stejnojmenná skripta. Doporučujeme společně s přednáškami.
[[https://eshop.cvut.cz/simplifyworks/cs/eoc/public/product/105053748-berka-roman-multimedia-i|{{courses:mm1:skripta_obalka.png?100|Multimedia I}}]]
----
**Zkouškové termíny**
viz KOS
**Zápočtové termíny**
14. týden na cvičení
**Předpokládané vstupní znalosti:** schopnost algoritmizace, pojem spojité funkce, základní fyzikální pojmy (frekvence, rychlost, tlak), binární poziční soustava
Odkaz na předmět v Bílé knize: [[http://www.fel.cvut.cz/cz/education/bk/predmety/31/32/p3132706.html|B0B39MM1]]. V případě odlišností má větší prioritu stránka předmětu zde.
===== Harmonogram přednášek a cvičení =====
^ Harmonogram přednášek ^^^^ Harmonogram cvičení ^
^ Týden ^ Téma ^^^ Téma ^
^ 1 |**Úvod do multimédií. Signál a jeho metody popisu. Fourierova transformace. **|{{ :courses:mm1:mm1_hidden:01-intro-signal.pdf | PDF}} || **__Úvod__** |
^ ::: | //Seznámení s obsahem kurzu, vymezení pojmů, Fourierova transformace jako nástroj v multimédiích.// ||| //Seznámení s předmětem, zadání semestrální práce, vytvoření dvoučlenných týmů. Úvod do prostředí jazyka Python. Instalace prostředí, struktura programu, datové struktury, řídící struktury, std. vstup-výstup. Ukázky. [[courses:mm1:python|Návod: Instalace Pythonu a knihoven]] //|
^ 2 | **Zvukové signály, popis a vnímání zvuku** | {{ :courses:mm1:mm1_hidden:02-mm1-sound-signals-perception_21.pdf |PDF}}|| Konzultace k projektům |
^ ::: | //Klasifikace zvukových signálů. Vnímání zvukových signálů, princip maskování a jeho využití při kompresi signálů.// ||| //Ukázky knihovny pyo a opencv, konzultace ke konceptu semestrálních prací.// |
^ 3 | **Číslicové zpracování zvukových signálů** | {{ :courses:mm1:mm1_hidden:03-mm1-digital-signal-processing_24.pdf |PDF}} || **__Zpracování zvuku - dílna I__** |
^ ::: |//Číslicové zpracování zvukových signálů. Vliv číslicového zpracování zvukových signálů na jejich vnímání. Komprese zvukových signálů.//||| //Zpracování a analýza signálů v reálném čase (využití knihovny pyo)// {{ :courses:mm1:mm1_hidden:mm1_dilna_i_studenti.pdf |PDF}}|
^ 4 | **Prostorová akustika** | {{ :courses:mm1:mm1_hidden:mm1-01-zvuk-2021.pdf |PDF}} || Konzultace k projektům |
^ ::: | //Šíření zvuku v uzavřených prostorech. Vlnová akustika, geometrická akustika a statistická akustika. Akustika uzavřených prostor. Auralizace.// ||| // Použití knihoven wxpython a opencv. Ukázky. // |
^ 5 | **Technická zařízení pro snímání a reprodukci zvuku**| {{ :courses:mm1:mm1_hidden:mm1-02-menice-2021.pdf |PDF}} || **__Snímání a reprodukce zvuku - dílna II__** |
^ ::: | //Zdroje a šíření zvukových signálů. Snímání zvukových signálů, mikrofony. Reprodukce zvukových signálů, reproduktory a reproduktorové soustavy.//||| //Snímání a reprodukce (vícekanálového) zvuku. Nainstalujte si [[https://www.audacityteam.org/|Audacity]], případně i [[https://o.steinberg.net/en/support/downloads_hardware/downloads_ur22mk2.html|USB driver ke zvukové kartě Steinberg UR22 mk II]] // |
^ 6 | **Přístupy pro reprezentaci zvuku v prostoru a jejich aplikace v multimédiích a VR** | {{ :courses:mm1:mm1_hidden:06-mm1-3d_sound.pdf |PDF}} ||Operace se zvukovým signálem - opakování |
^ ::: | //Základy směrového slyšení. Binaurální reprodukce, WFS, stereo a surround systémy, Ambisonie, objektový zvuk.// ||| // Praktické cvičení operací se zvukem, aditivní a subtraktivní syntéza, aj. // |
^ 7 | **Snímání a záznam obrazu: Fotoaparáty, senzory, expozice, optika.** | {{ :courses:mm1:mm1_hidden:07-snimani-obrazu.pdf | PDF}} || **__TEST I__ / konzultace** |
^ ::: | //Fyzikální princip snímání obrazu, digitální fotoaparát, optika, expozice.// ||| //TEST - snímání, reprodukce a zpracování zvuku// |
^ 8 | **Snímání a záznam obrazu II: Kamera, média, parametry, pravidla snímání,
kompozice. ** | {{ :courses:mm1:mm1_hidden:08-snimani-obrazu-ii.pdf | PDF}} || **__Snímání videa - dílna III__** |
^ ::: | // Kamera a její součásti, záznamová média, standardy pro přenos videa. Základní pravidla snímání videa. Kompozice obrazu. // ||| //Snímání a streamování videa, green-screen, stereoskopické video {{ :courses:mm1:mm1_hidden:dilna3-video.pdf |materiál}}// |
^ 9 | **Svátek** | - || - |
^ 10 | **Osvětlování a osvětlovací technika, řídící protokoly ArtNET a DMX512** | {{ :courses:mm1:mm1_hidden:10-mm1-lighting-technologies.pdf |PDF}} || Řízení světelného parku - příprava |
^ ::: | //Světelné zdroje, dálkově ovládaná zařízení pro multimediální efekty, řídící protokoly DMX515, ArtNET.// ||| // Používání protokolů artnet a midi. // |
^ 11 |**Stereoskopie** | {{ :courses:mm1:mm1_hidden:09-mm1-stereoscopy.pdf |PDF}} || **__Světelná technika - dílna IV__** |
^ ::: | //Binokulární vidění. Přehled principů stereoskopického zobrazování, metody vytváření stereoskopického obsahu.// ||| //Světelné zdroje, a řízení světelného parku. Protokoly DMX512 a ARtNET, {{ :courses:mm1:mm1_hidden:iv-dilna-svetla.docx |materiál}}, {{ :courses:mm1:mm1_hidden:main_plot.pdf |Lightplot}}, {{ :courses:mm1:mm1_hidden:iim-stage.zip |Scéna pro SW Capture}}.// |
^ 12 | **Ukládání obrazu a videa, datové formáty, distribuční formáty, archivace multimediálního obsahu** | {{ :courses:mm1:mm1_hidden:0x0a-mm1-data-formats.pdf |PDF}} || Konzultace k projektům |
^ ::: | //Vymezení pojmů. Metody komprese obrazu a videa RLE, Huffman, JPEG, MPEG. Formáty pro ukládání rastrových a vektorových dat.// ||| //Testování a ladění dílčích částí semestrálních projektů.// |
^ 13 | **Snímání pohybu a interakce** | {{ :courses:mm1:mm1_hidden:11-mm1-motion-capture.pdf |PDF}} || **__TEST II__ / konzultace** |
^ ::: | //Technologie a principy pro snímání pohybu.// ||| //TEST / konzultace dle potřeby jednotlivců.// |
^ 14 | **Prezentace multimediálního obsahu** | {{ :courses:mm1:mm1_hidden:12c-b0b39mm1-archiving-and-presenting-mm-data.pdf |PDF}} || **__Prezentace projektů__** |
^ ::: | //Prezentační technologie, principy projekčních zařízení. Problematika poměru stran, prokládání a konverze snímkové frekvence.// ||| //Prezentace projektů, hodnocení, zápočet.// |
Podtržené názvy ve výše uvedené tabulce znamenají povinná cvičení. Doporučujeme ale absolvovat co nejvíce přednášek i cvičení pro úspěšné zakončení předmětu u zkoušky.
==== Průběžný stav hodnocení ====
==== Výsledky testu 1 - audio ====
==== Výsledky testu 2 - video ====
^ datum testu ^ odkaz na výsledky ^ datum opravného testu ^
==== Prezentace a semestrální práce ====
Odkaz na tabulku bude zde.
==== Pravidla předmětu ====
* [[http://dcgi.felk.cvut.cz/cs/study/akademicka_pravidla|Akademická pravidla]]
* [[https://cw.fel.cvut.cz/wiki/help/common/plagiaty_opisovani | Pravidla samostatné práce]]
* {{:courses:mm1:mm1_hidden:okruhy_mm1_2024.pdf |Okruhy ke zkoušce}}
* [[https://intranet.fel.cvut.cz/cz/rozvoj/MP-pouzivani-ui.pdf|Rámcová pravidla používání umělé inteligence na ČVUT pro studijní a pedagogické účely v bakalářském a magisterském studiu]]
- Semestrální práce bude zadána nejpozději v 2. týdnu
- Prezentace projektů bude probíhat ve 14. týdnu.
- V průběhu semestru budou 2 testy uzavírající jednotlivé tematické celky (zvuk, video).
- V každém testu budou 4 otázky po 2 bodech. Minimální zisk je 5 bodů (jinak bude test opakován, maximálně však 2x).
- Zkouška je povinná.
- Před zkouškou je nutné získat zápočet.
- Zkouška se skládá z písemného testu a ústní části a pokrývá témata přednášek.
- **Ke získání zápočtu je potřeba** kompletně odevzdat **semestrální práci** (viz [[https://cw.fel.cvut.cz/b241/courses/mm1/start#kriteria_pro_hodnoceni_semestralnich_uloh|Kritéria]]), absolvovat **prezentaci** projektu v době cvičení ve 14. týdnu a **oba 2 testy**. To vše se ziskem **alespoň 20 bodů**.
==== Celkové bodové hodnocení ====
=== Body za semestr (pro získání zápočtu) ===
K získání zápočtu je potřeba získat minimum 20 bodů.
Body nad 30 budou připočteny k zisku u zkoušky.
* Semestrální úloha 24b
* Průběžná práce (2 testy po 8b.) 16b
* Prezentace 10b
* **Celkem 50b**
=== Body u zkoušky (pro získání/výpočet známky) ===
* Zkouškový test 60b
* Zkouška 40b
* **Celkem 100b**
Zkouška je povinná.
=== Ukázka otázek pro testy průběžné práce ===
//Pozn: Součástí každé odpovědi je i vysvětlení symbolů, uvedení jednotek, popisky obrázků, os, apod.//
- Jaká vlnová délka odpovídá kmitočtu 20 Hz? - stačí náznak výpočtu a numerický odhad, pro vzduch, normální podmínky.
- Jakou podmínku týkající se kmitočtového rozsahu číslicově zpracovávaných signálů musíme splnit při jejich vzorkování? Uveďte konkrétní příklad.
- Schematicky nakreslete (včetně popisu) řez elektrodynamickým reproduktorem a vysvětlete princip funkce.
- Načrtněte časový průběh a kmitočtové spektrum "diracova impulzu" (jednotkového impulzu).
- Co je ekvivalentní ohnisková vzdálenost? Jaká bude ekv. ohnisková vzdálenost 150mm objektivu na těle fotoaparátu s ořezovým činitelem (crop factor) 1.6?
- Popište vztah, který určuje barvu pixelu po smíchání stejnolehlého pixelu popředí a pozadí s udanými hodnotami alfakanálu.
- Jaký význam při kompresi JPEG má DCT?
- Jak funguje pasivní stereoskopická projekce jako technika separace signálu při projekci pro levý a pravý kanál?
==== Klasifikace ====
^^ Známka ^ Zisk ^^
||A | 90-100 ||
||B | 80-89||
||C | 70-79||
||D | 60-69||
||E | 50-59||
||F | 0-49||
===== Semestrální úlohy =====
==== Kritéria pro hodnocení semestrálních úloh ====
Všichni budou řešit jednotnou úlohu spočívající v produkci procedurálně generovaného obrazu a zvuku. Na řešení budou pracovat dvoučlenné týmy. Při hodnocení jejich výstupu budou zohledněna následující kritéria:
- provázanost obrazu a zvuku
- míra interaktivity
- vlastní operace nad zvukovým signálem
- vlastní operace nad obrazovým signálem
- architektura návrhu (dekompozice na třídy případně moduly)
- komentáře v kódu
==== Zadání ====
Semestrální práce - obecné zadání: Vytvořte aplikaci, která umožní syntézu zvukového signálu, obrazu a světelného doprovodu na základě vstupu uživatele. K realizaci využijte prostředí Python s knihovnami pyo, wxpython, opencv, protokolů artnet nebo MIDI. Podporované prostředí je linux, windows nebo MAC-OS.
Pro upřesnění si vyberte jedno z následujících zadání a ve spolupráci s cvičícími je modifikujte pro sebe.
- Vytvořte aplikaci, která na základě vstupů od uživatele bude pomocí syntézy generovat ruchy pocházející z různých procesů (náraz dvou kovových objektů, pád kovové kuličky na podlahu, cvakání, klapání apod.). Vizuálně doprovoďte stavovými informacemi.
- Naiplmenetujte aplikaci, která bude fungovat jako sampler. Uživatel bude pokládat do rastru pixely a aplikace je bude skenovat a na jejich základě vydávat zvuky různých tónů a materiálů (obdoba válce s trny do orchestrionu nebo flašinetu). Bude možné regulovat rychlost skenování případně počet skenů.
- Vytvořte aplikaci, která má na vstupu zvukový záznam a na výstupu daný záznam upravený pomocí efektů echo, zpoždění,... Aplikace bude zobrazovat stavové informace nastavení efektů.
- Vytvořte jednoduchou hru s bludištěm a generovanými syntetickými zvuky.
- Vytvořte hru ovládanou pískáním a výškou tónu (např. tetris).
Kdo odevzdal a nebyla mu práce vrácena, má nárok na zápočet, ale nikoliv nárok na všechny body.
==== Obsah odevzdaného projektu ====
Projekt bude odevzdaný v ZIP balíčku tak, aby bylo možné vaše zdrojové soubory spustit. Balíček bude obsahovat:
- pouze vámi vytvořené zdrojové kódy ve vlastní adresářové struktuře
- textový soubor README v kořenovém adresáři struktury s popisem obsahu balíčku
- datové např. zvukové a vaše konfiguračními soubory
- video, nebo screenshot s náhledem běžící aplikace
- závěrečná zpráva v PDF formátu max 5str. (popis záměru + inspirace, teoretický návrh - použijte např. schéma a popište, popis řešení, návod na spuštění a popisem parametrů a ovládání)
ZIP balíček je možné vytvořit selektivním sbalením pouze vybraných souborů se zachováním relativních cest.
**Odevzdání balíčků prosřednictvím některého úložiště (dropbox, filesender) během zápočtového týdnu.**
==== Odkazy na materiály ====
Velká část aktivit na cvičení se bude odehrávat za použití několika knihoven jazyka Python. To proto, aby studenti měli průpravu pro realizaci semestrální práce, která se bude odehrávat ve stejném prostředí. K Pythonu i k těmto knihovnám je k dispozici velké množství dokumentace a příkladů. Některé jsou uvedeny níže a další si určitě najdete.
- **Pyo** - knihovna pro zvuk: http://ajaxsoundstudio.com/software/pyo/, **Dokumentace**: http://ajaxsoundstudio.com/pyodoc/#
- **Opencv** - práce s obrázky a videem: https://pypi.org/project/opencv-python/#files, **Dokumentace**: https://docs.opencv.org/4.x/d6/d00/tutorial_py_root.html
- **WXPython** knihovna pro tvorbu grafického rozhraní (využívá jí PYO) https://wxpython.org/index.html
- **ArtNET** - modul pro ovládání světel. Existují cca 2 knihovny, ale pro účely předmětu jsme vám připravili jednoduché ukázky, které postačí a které najdete ve zdrojových kódech příkladů.
- **Python** - k pythonu je mnoho zdrojů. Např. zde https://www.freecodecamp.org/news/the-python-guide-for-beginners/ nebo zde https://www.geeksforgeeks.org/getting-started-with-python-programming
- **Ukázkové příklady** - ke stažení zde: [[https://gitlab.fel.cvut.cz/mm1/python-examples/-/archive/master/python-examples-master.zip|python-examples-master.zip]], prohlédnout si je můžete v repozitáři zde: https://gitlab.fel.cvut.cz/mm1/python-examples
- **Capture** - aplikace, která umožňuje modelovat osvětlení prostorů vč. ovládání pomocí protokolu ArtNET. Vhodné pro testování semestrálních prací - packety ArtNET pak stačí odesílat na lokální adresu ''127.0.0.1''. Ke stažení studentská verze zde (na stránce dole): https://www.capture.se/Downloads/Download-Capture (motorizované světlo použité ve 4. dílně, Martin Rush MH1 Profile, bohužel v této verzi Capture není, můžete si ale najít dokumentaci jednotlivých kanálů, nebo na testování použít QLC+ jako v dílně - ovládání světla začíná na kanálu 101)