Detail předmětu
Grafické a multimediální procesory
FEKT-MGMPAk. rok: 2010/2011
Organizace obrazové paměti. Barevné modely a prostory. Správa barev. Základní principy a algoritmy 2D/3D grafiky. Mapování a komprese textur, pixelové interpolace. Kvantování. Predikční kódování. Kosinová a waveletová transformace. Kompenzace pohybu a hybridní kódování. Podpásmové kódování a vektorové kvantování. Huffmanovo kódování. Kódování délkou sledů. LZ77, 78. JPEG, JPEG2000. Standardy pro kódování zvuku a videa s redukcí dat, ITU-T H.261, H.263, H.264, MPEG-1, 2, 4. Multimediální procesory, procesory pro všeobecné použití. Multimediální rozšiřování instrukčního souboru, technologie SIMD (MMX, SSE, 3DNow!, Altivec). Architektury moderních GPU, vertex a pixel shadery, technologie DirectX, GPGPU, CUDA. Paralelizace.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
Prerekvizity
Plánované vzdělávací činnosti a výukové metody
Způsob a kritéria hodnocení
Test ve cvičeních 7 bodů
Úlohy ve cvičeních 8 bodů
Zkouška 70 bodů
Osnovy výuky
2. Barevné modely a barevné prostory.
3. Obraz a jeho reprezentace, vzorkování a kvantování, kosinová a waveletová transformace.
4. Principy 2D grafiky, křivky a jejich vlastnosti, algoritmy rasterizace.
5. Principy 3D grafiky, plochy a jejich vlastnosti. Geometrické transformace scény v homogenních souřadnicích.
6. Mapování a komprese textur, pixelové interpolace.
7. Komprese kvadrantovým stromem, kódování délkou sledu, Huffmanovo kódování, LZ77.
8. Predikční kódování. Metody ztrátové komprese, JPEG.
9. Standardy pro kódování zvuku s redukcí dat, subpásmové a percepční kódování, principy. MPEG-1 Audio, MPEG-2 Audio BC, AAC, AC-3, SBR, MPEG Surround.
10. Standardy pro kódování videa s redukcí dat, principy, kompenzace pohybu, odstupňované profily. ITU H.261, H.263, H.264, MPEG-1, 2, 4, 7.
11. Multimediální procesory a rozšiřování instrukčního souboru, proudové zpracování instrukcí, cache, technologie SIMD. Technologie MMX, 3DNow!, SSE, Altivec.
12. Čtení a zpracování s více přístupy. Procesory pro všeobecné použití, multi-threading, hyper-threading, architektura multi-core.
13. Architektury moderních GPU, vertex a pixel shadery. GPU jako paralelní systém pro výpočty, technologie DirectX, GPGPU, CUDA. Paralelizace.
Učební cíle
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
počítačová cvičení jsou povinná
odevzdání samostatného projektu je povinné
Základní literatura
Hanzo, L. Cherriman, P., Streit, J.: Video Compression and Communications, 2nd ed. John Wiley & Sons, Ltd, 2007. ISBN 978-0-470-51849-6 (EN)
Heath, S. Multimedia & Communications Technology. Oxford: Focal Press, 1996. ISBN 0-240-51460-2 (EN)
Kaufman, Rendering, Visualization and Rasterization Hardware. Springer-Verlag, 1993. ISBN 3-540-56787-9 (EN)
Leiterman, J. C.: Learn Vertex and Pixel Shader Programming with DirectX 9. Wordware Publishing, Inc., 2004. ISBN 1-55622-287-4 (EN)
Rao K.R., Hwang J.J.: Techniques & Standards for Image, Video & Audio Coding, Prentice Hall, 1996 (EN)
Sayood, K.: Data Compression, 2nd ed. Academic Press, 2000. ISBN 1-55860-558-4 (EN)
Smékal, Z., Sysel, P. Signálové procesory. Sdělovací technika, Praha, 2006. ISBN 80-86645-08-8. (CS)
Žára, Beneš, Sochor, Felkel: Moderní počítačová grafika. Druhé vydání. Computer Press, 2005. ISBN 80-251-0454-0 (CS)
Doporučená literatura
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
3D grafika, složitost, grafické akcelerátory.
Obrazová paměť, grafické procesory.
Paralelizace geometrického a rasterizačního stupně.
Architektura SGI, mapování a komprese textur, pixelové interpolace.
Kvantování a predikční kódování.
Kosinová a waveletová transformace.
Kompenzace pohybu, podpásmové kódování.
Huffmanovo a aritmetické kódování, RLE.
Komprese dat, LZ 77, LZ 78, Burrows-Wheelerova transformace.
JPEG, ITU-T H.261, MPEG-1.
MPEG-2, -4, -7.
Multimediální procesory, instrukční soubory. Hrací konzoly.
Cvičení na počítači
Vyučující / Lektor
Osnova
2. Základy vykreslování v OpenGL, 2D scéna, body, čáry, vertexy, práce s barevnou informací, tloušťky, vysvětlení transformací a transformační matice.
3. Schéma komunikace mezi uživatelem a prostředím, obsluha myši, klávesnice, jednoduché grafické uživatelské rozhraní ve formě menu, samostatně animovaná scéna bez zásahu uživatele, vysvětlení principu double buffering.
4. Zadání projektů, bitmapová grafika, výpis textu, display listy, vertex arrays
5. Základní vykreslování ve 3D grafice s jednoduchým stínováním, překrývání stěn, řešení problému pomocí tzv. malířova algoritmu a z-bufferu, normály stěn a základy osvětlení.
6. Phongův osvětlovací model a jeho výpočetní složky, světelné zdroje. Pokročilé 3D-texturování, mipmapping, blending. Vysvětlení principu některých efektů.
7. Intel Integrated Performance Primitives (IPP) - Úvod do programování. Vzájemné převody nejpoužívanějších barevných prostorů (RGB, YCbCr, HLS, stupně šedi), gama korekce.
8. Intel Integrated Performance Primitives (IPP)
9. Intel Threading Building Blocks (TBB)
10. Programování DirectX - část Direct3D pro modelování 3D scén – vertex shadery a pixel shadery, rozdíly oproti OpenGL
11. Programování DirectX - část DirectSond pro práci s audiosignály – přehrávání audiosignálů, plug-in moduly a práce s nimi, manažer grafů filtrů
12. Programování DirectX - část DirectShow pro práci s videem – přehrávání videa a práce s videosignálem, systém kodeků, streaming