BAKALÁŘSKÁ PRÁCE. Bohdan Maslowski. Motivace matematické analýzy pro studenty informatiky
|
|
- Josef Pospíšil
- před 4 lety
- Počet zobrazení:
Transkript
1 Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE Bohdan Maslowski Motivace matematické analýzy pro studenty informatiky Katedra matematické analýzy Vedoucí bakalářské práce: doc. RNDr. Stanislav Hencl, Ph.D. Studijní program: Matematika, Obecná matematika 2010
2 Chtěl bych poděkovat Stanislavu Henclovi za obětavé vedení práce. Dále děkuji kamarádům Janě a Janovi za konzultaci a přítelkyni Johance za trpělivost. Prohlašuji, že jsem svou bakalářskou práci napsal(a) samostatně a výhradně s použitím citovaných pramenů. Souhlasím se zapůjčováním práce a jejím zveřejňováním. V Praze dne Bohdan Maslowski 2
3 Obsah Úvod 7 1 Bézierovy křivky Základní pojmy Parametrizované křivky Derivace a spojitost Bernsteinovy polynomy Bézierovy křivky Úsečky, kvadriky a kubiky Lineární Bézierovy křivky Kvadratické Bézierovy křivky Kubické Bézierovy křivky Bézierovy cesty De Casteljaův algoritmus Racionální Bézierovy křivky Využití Bézierových křivek SVG PostScript DCT komprese Fourierovy řady Trigonometrické Fourierovy řady Exponenciální Fourierovy řady Fourierova transformace Diskrétní Fourierova transformace Diskrétní ortogonální transformace Diskrétní Fourierova transformace Diskrétní kosinová transformace (DCT II)
4 2.3 2D Transformace D ortogonální Transformace D kosinová Transformace Formát JPEG Převod z RGB do Y C b C r Podvzorkování chromatických složek Transformace bloků Kvantizace koeficientů Kódování Uložení do JFIF Rozšíření EXIF Literatura 50 4
5 Seznam obrázků 1.1 Bernsteinovy polynomy stupňů nula až pět Bézierova křivka stupně pět a její řídící polygon Lineární Bézierova křivka Kvadratická Bézierova křivka Kubická Bézierova křivka Bézierova cesta složena ze dvou segmentů Důkaz korektnosti De Casteljaova algoritmu Konstrukce Bézierovy křivky de Castaljaovým algoritmem Aproximace kruhu pomocí Bézierových křivek Racionální kvadratická Bézierova křivka Příklad SVG Text vedený podél Bézierovy cesty Příklad Beziérových křivek v SVG Bézierova cesta v PostScriptu Částečné součty Fourierových řad Báze DCT pro N = Báze dvourozměrné DCT pro N = Ukázka JPEG komprese: Lena ( ) Ukázka JPEG komprese: Lena ( ), výřez Detail RGB mřížky na CRT monitoru Převod z barevného prostoru RGB do Y C b C r Zkreslení barev při podvzorkování chromatických složek Linearizace DCT koeficientů
6 Název práce: Motivace matematické analýzy pro studenty informatiky Autor: Bohdan Maslowski Katedra: Katedra matematické analýzy Vedoucí bakalářské práce: doc. RNDr. Stanislav Hencl, Ph.D. vedoucího: Abstrakt: Cílem práce je ukázat použití pojmů a základních vět z prvního dvouletí matematické analýzy v oblastech informatiky. K tomu byla vybrána dvě témata se kterými se v informatice setkáváme nejčastěji. V první kapitole jsou představeny Bézierovy křivky, což jsou nejpoužívanější parametrické křivky ve vektorové grafice (využívají se například k reprezentaci počítačových fontů). Druhá kapitola se zabývá ztrátovou kompresí obrazu založenou na diskrétní kosinové transformaci. Tato metoda se používá například ve formátu JPEG. Klíčová slova: Bézierovy křivky, diskrétní kosinová transformace, DCT, komprese, JPEG Title: Motivation of mathematical analysis for students of computer science Author: Bohdan Maslowski Department: Department of Mathematical Analysis Supervisor: doc. RNDr. Stanislav Hencl, Ph.D. Supervisor s address: Stanislav.Hencl@mff.cuni.cz Abstract: The aim of this work is to demonstrate the use of basic definitions and theorems of mathematical analysis in computer science. Two topics have been selected, both of great importance in everyday applications. In the first chapter, Bézier curves are introduced which are the most used parametric curves in vector computer graphics. The second chapter deals with a method of lossy image compression based on discrete cosine transform (DCT). This method is used in the widespread JPEG file format. Keywords: Bézier curves, Discrete cosine transform, DCT, Compression, JPEG 6
7 Úvod Náplní této práce je demonstrace významu matematické analýzy ve vybraných oblastech informatiky. Důraz byl přitom kladen na srozumitelné podání látky a uvedení podrobných příkladů praktického využití, není tedy striktně dodrženo schéma definice-věta-důkaz. Práce se skládá ze dvou hlavních částí kapitola 1 pojednává o Bézierových křivkách a kapitola 2 o kompresi obrazu pomocí diskrétní Fourierovy transformace. Obě kapitoly se dále dělí na teoretickou a praktickou část. V teoretické části jsou představeny matematické základy daného tématu a v praktické části je na příkladech známých technologií uvedeno konkrétní využití. Prvním tématem jsou Bézierovy křivky, což jsou parametrické křivky využívané především v počítačové grafice. Zjednodušeně by se dalo říci, že posloupnosti Bézierových křivek nahrazují lomené čáry v úloze aproximace libovolných křivek, přičemž na rozdíl od lomených čar dosahují hladkosti ve všech bodech. Používají se zde základní pojmy matematické analýzy jako spojitost, derivace a hladkost a pojmy diferenciální geometrie (parametrizované křivky, regulární křivka, změna parametru apod.) Je zavedena parametrická a geometrická hladkost, pojmy které se často používají v počítačové grafice. V praktické části jsou popsány běžně používané formáty vektorové grafiky a na příkladech je předvedeno, jakým způsobem se v těchto formátech s Bézierovými křivkami pracuje. Dalším tématem je metoda komprese obrazu pomocí diskrétní kosinové transformace, která je využívána v dnes velmi rozšířeném formátu JPEG. V této kapitole se dostaneme od trigonometrických Fourierových řad probíraných na přednáškách matematické analýzy k diskrétním Fourierovým transformacím a jejich variantám, které se využívají v mnoha oblastech informatiky. V druhé polovině kapitoly je detailně popsán formát JPEG, který využívá diskrétní kosinovou transformaci ke ztrátové kompresi obrazu. V praktické části jsou popsány i části komprese, které s vlastní transformací přímo nesouvisí, jsou však důležité k pochopení celého procesu. 7
8 Kapitola 1 Bézierovy křivky Bézierovy křivky vznikly na konci padesátých let dvacátého století ve Francii. Jako první je v roce 1959 začal používat při návrhu karosérií zaměstnanec automobilky Citroën, matematik a fyzik Paul de Casteljau. Téměř současně tyto křivky objevil také zaměstnanec Peugeotu Pierre Étienne Bézier. Ten o nich publikoval první vědeckou práci [1] a tak se nakonec ustálilo pojmenování Bézierovy křivky. Jméno jejich objevitele Paula de Casteljaua však nebylo úplně zapomenuto je po něm nazván algoritmus používaný k vykreslování a dělení Bézierových křivek. Mezi výhody Bézierových křivek patří jednoduchá úprava křivek i efektivní vykreslování. Bézierovy křivky tvoří základ technologií TrueType, Post- Script, PDF, SVG a řady dalších, většina grafických programů je umožňuje vytvářet a upravovat. V první části této kapitoly budou představeny matematické principy Bézierových křivek a v druhé popsány některé formáty, které jsou na těchto křivkách založeny. Teoretická část je zpracovaná podle materiálů [2], [3], [4], [5], [6], [7], [8] a [9], praktická část podle oficiálních referencí formátů SVG [10] a PostScript [11]. 8
9 1.1 Základní pojmy Parametrizované křivky Nejdříve zavedeme pojem parametrizované křivky. 1 Definice 1.1. Buď I R interval. Diferencovatelné zobrazení c : I R n se nazývá parametrizovaná křivka v R n. Množina c(i) R n se nazývá obraz křivky. Příklad. Křivka c(t) = (cos t, sin t) odpovídá jednotkové kružnici, křivka c(t) = (t, sin t) grafu funkce sin t. Poznámka. Různé parametrizované křivky mohou mít tentýž obraz. Například c(t) = (t, t) a c(t) = (t 2, t 2 ) pro t [0, 1] definují stejnou úsečku v R 2 spojující počátek s bodem (1, 1) Derivace a spojitost Poznámka. Zobrazením f : R R n se říká vektorové funkce. Můžeme se na ně dívat jako na uspořádané n-tice (f 1,..., f n ). Funkcím f 1,..., f n budeme říkat složky vektorové funkce f. Platí f (x) = (f 1(x),..., f n(x)), tedy vektorové funkce můžeme derivovat po složkách. Definice 1.2. Řekneme, že parametrizovaná křivka c : I R n je regulární, platí-li c (t) 0 pro každé t I. V krajních bodech intervalu I uvažujeme jednostranné derivace. Vektor c (t) pak nazveme tečným vektorem křivky v bodě c(t) Poznámka. Často je výhodné uvažovat o parametru t jako o čase a o křivce c(t) jako o trajektorii. První derivace c (t) pak odpovídá vektoru rychlosti, druhá derivace c (t) vektoru akcelerace. Pokud je křivka regulární, znamená to, že se v žádném bodě pohyb nezastaví. Definice 1.3. Nechť c : I R n je regulární parametrizovaná křivka a ϕ : Ĩ I je difeomorfismus intervalu Ĩ na I. Pak je c = c ϕ : Ĩ Rn regulární parametrizovaná křivka se stejným obrazem jako c. Difeomorfismus ϕ nazýváme změnou parametru křivky c. 1 Tato část je zpracovaná podle [2] a [3]. 9
10 Definice 1.4. Křivka je parametrizovaná obloukem, je-li c (t) = 1 pro všechna t I. Věta 1.1. Ke každé regulární parametrizované křivce c : I R n existuje změna parametru ϕ : Ĩ I tak, že c = c ϕ je parametrizovaná obloukem. Definice 1.5. Množinu všech funkcí, které mají na nějakém intervalu I spojité derivace k-tého řádu značíme C k (I). Řekneme, že parametrizovaná křivka c : I R n je C k -hladká, jsou-li všechny její složky z C k (I). Je-li interval I uzavřený nebo polouzavřený, uvažujeme v krajních bodech derivace jednostranné. Parametrická hladkost C k Definice 1.6. Nechť c 1 : [a 1, b 1 ] R n a c 2 : [a 2, b 2 ] R n jsou dvě regulární parametrizované křivky. Řekneme, že se napojují s hladkostí C k, jsou-li obě C k -hladké a platí-li c (i) 1 (b 1 ) = c (i) 2 (a 2 ) pro i = 0,..., k. Poznámka. V počítačové grafice se často používají pojmy parametrická spojitost C k a geometrická spojitost G k. Geometrická hladkost G k Definice 1.7. Nechť c 1 : [a 1, b 1 ] R n a c 2 : [a 2, b 2 ] R n jsou dvě regulární parametrizované křivky. Řekneme, že se napojují s hladkostí G k, jsou-li obě C k -hladké a i = 0,..., k h i R, h i 0 : c (i) 1 (b 1 ) = h i c (i) 2 (a 2 ), tedy jsou-li vektory derivací kolineární. Věta 1.2. Nechť c 1 : [a 1, b 1 ] R n a c 2 : [a 2, b 2 ] R n jsou dvě regulární parametrizované křivky. Následující výroky jsou ekvivalentní. 2 (i) Křivky c 1 a c 2 se napojují s hladkostí G k. (ii) Existuje změna parametru ϕ : [a 2, b 2 ] [ã 2, b 2 ] tak, že se křivky c 1 a c 2 = c ϕ napojují s hladkostí C k. (iii) Křivky parametrizované obloukem odpovídající křivkám c 1 a c 2 se napojují s hladkostí C k. 2 Důkaz je uveden ve článku Three Characterizations of Geometric Continuity for Parametric Curves [3]. 10
11 Důsledek. Je-li křivka geometricky hladká, je také parametricky hladká. Obrácené tvrzení neplatí. 1.2 Bernsteinovy polynomy Dříve než definujeme samotné Bézierovy křivky, zavedeme tzv. Bernsteinovy polynomy [4] [5] [6]. Definice 1.8. Bernsteinovy polynomy stupně n definujeme předpisem ( ) n B i,n (t) = t i (1 t) n i i = 0,..., n. i Obrázek 1.1: Bernsteinovy polynomy stupňů nula až pět Poznámka. (i) Všechny Bernsteinovy polynomy B i,n jsou kladné na intervalu (0, 1). (ii) Platí n B i,n (t) = 1. (1.1) i=0 Říkáme, že součet Bernsteinových polynomů daného stupně tvoří rozklad jednotky. 11
12 (iii) Bernsteinovy polynomy jsou symetrické ve smyslu B i,n (t) = B n i,n (1 t). (1.2) (iv) Polynomy B i,n nabývají v bodě i/n svého jediného maxima. (v) Polynomy B 0,n,..., B n,n jsou lineárně nezávislé a tvoří bázi prostoru polynomů stupně n. 1.3 Bézierovy křivky Nyní můžeme přistoupit k vlastní definici Bézierových křivek. 3 Definice 1.9. Nechť B i,n jsou Bernsteinovy polynomy stupně n. Bézierova křivka stupně n je parametrizovaná křivka c : [0, 1] R 2 určena n + 1 body P 0,..., P n R 2 a vztahem c(t) = n P i B i,n (t) t [0, 1]. (1.3) i=0 Krajním bodům P 0 a P n říkáme kotvící body, vnitřním bodům P 1 až P n 1 (pro n 2) řídící body. Spojíme-li body P 0,..., P n úsečkami, dostaneme tzv. řídící polygon. Obrázek 1.2: Bézierova křivka stupně pět a její řídící polygon 3 Tato část je zpracovaná podle [7], [8] a [9]. 12
13 Poznámka. (i) Z definice vyplývá, že každý bod na křivce je lineární kombinací řídících a kotvících bodů křivky s koeficienty danými Bernsteinovými polynomy. V této souvislosti je dobré připomenout, že Bernsteinovy polynomy B i,n (t) jsou na intervalu (0, 1) kladné, nabývají maxima v bodě t = i/n a tvoří rozklad jednotky. (ii) Pro P i = (x i, y i ) můžeme psát x = n i=0 x ib i,n (t), y = n i=0 y ib i,n (t). Součtům na pravé straně těchto rovnic se říká Bernsteinovy aproximační polynomy. Ty se používají k aproximaci funkcí na intervalu (0, 1) na základě hodnot v bodech i/n [12]. Na body P i tedy můžeme pohlížet jako na vybrané hodnoty nějaké obecné křivky a na Bézierovu křivku jako na její aproximaci metodou Bernsteinových polynomů. (iii) Bézierovy křivky je možné analogicky definovat i pro vyšší dimenze, v praxi se běžně setkáme s křivkami v R 3. (iv) Složkami Bézierovy křivky jsou polynomy stupně n. Ty mají derivace všech řádů, Bézierova křivka je tedy C -hladká. Vlastnosti. (i) Bézierova křivka začíná a končí v kotvících bodech, tedy c(0) = P 0 a c(1) = P n. Obecně však neprochází řídícími body. (ii) Všechny body Bézierovy křivky leží uvnitř konvexního obalu kotvících a řídících bodů. (iii) V krajních bodech má křivka tečné vektory rovny P 1 P 0 v bodě P 0 a P n P (n 1) v bodě P n. Druhý a předposlední bod křivky tedy určují tečny v krajních bodech. 13
14 1.4 Úsečky, kvadriky a kubiky V počítačové grafice se používají zejména Bézierovy křivky stupňů jedna až tři, tedy úsečky, kvadriky a kubiky. Tyto speciální případy v této části stručně popíšeme Lineární Bézierovy křivky Lineární Bézierova křivka je dána dvěma kotvícími body P 0 a P 1 a rovnicí c(t) = P 0 B 0,1 (t) + P 1 B 1,1 (t), (1.4) kde B 0,1 (t) = t B 1,1 (t) = 1 t jsou Bernsteinovy polynomy stupně 1. (a) Bernsteinovy polynomy B i,1 (b) Lineární Bézierova křivka Obrázek 1.3: Lineární Bézierova křivka Poznámka. Platí C(t) = P 0 + t(p 1 P 0 ) t [0, 1]. (1.5) Odtud je zřejmé, že lineární Bézierova křivka je úsečka s koncovými body P 0 a P 1. 14
15 1.4.2 Kvadratické Bézierovy křivky Kvadratická Bézierova křivka je dána kotvícími body P 0 a P 2, jedním řídícím bodem P 1 a rovnicí 2 C(t) = P i B i,2 (t), (1.6) i=0 kde B 0,2 (t) = (1 t) 2 B 1,2 (t) = 2t(1 t) B 2,2 (t) = t 2 jsou Bernsteinovy polynomy stupně 2. (a) Bernsteinovy polynomy B i,2 (b) Kvadratická Bézierova křivka Obrázek 1.4: Kvadratická Bézierova křivka Křivka prochází prvním a třetím bodem a druhý bod současně určuje oba tečné vektory. Kvadratické Bézierovy křivky neboli kvadriky jsou využívány ve formátu TrueType pro popis fontů. To je ale spíše výjimka, většinou se kvůli přesnější kontrole používají křivky o stupeň vyšší. 15
16 1.4.3 Kubické Bézierovy křivky Kubická Bézierova křivka je dána dvěma kotvícími body P 0 a P 3, dvěma řídícími body P 1 a P 2 a rovnicí C(t) = 3 P i B i,3 (t), (1.7) i=0 kde B 0,3 (t) = (1 t) 3 B 1,3 (t) = 3t(1 t) 2 B 2,3 (t) = 3t 2 (1 t) B 3,3 (t) = t 3 jsou Bernsteinovy polynomy stupně 3. (a) Bernsteinovy polynomy B i,3 (b) Kubická Bézierova křivka Obrázek 1.5: Kubická Bézierova křivka Křivka vychází z bodu P 0 a končí v bodě P 3, přičemž bod P 1 určuje tečnu v P 0 a P 2 určuje tečnu v P 3. Podpora pro kubické Bézierovy křivky neboli kubiky je obsažena snad v každém programu či formátu pracujícím s vektorovou grafikou. 4 4 Výjimku tvoří formát TrueType, který obsahuje jen křivky kvadratické. 16
17 1.5 Bézierovy cesty Bézierovy křivky stupňů vyšších než 3 jsou pro praktické využití nevhodné a nepoužívají se. Hlavním důvodem je fakt, že posunutí libovolného řídícího bodu změní tvar křivky po celé její délce. Jak pro tvorbu a úpravu křivek uživateli, tak pro efektivní vykreslování je však žádoucí, aby se úpravy projevily pouze v blízkosti změny, kterou provádíme. Této vlastnosti říkáme lokální kontrola. Jedna možnost, jak docílit lokální kontroly nad tvarem křivky je spojení několika Bézierových křivek za sebe, tedy ztotožnění posledního bodu (P n ) každé křivky s prvním bodem (P 0 ) sousední křivky. Takto spojeným křivkám budeme říkat Bézierovy cesty nebo jen cesty. Jednotlivým křivkám pak říkáme segmenty. Je-li první bod prvního segmentu ztotožněn s posledním bodem posledního segmentu, mluvíme o uzavřené cestě. Obrázek 1.6: Bézierova cesta složena ze dvou segmentů Hladkost. Zatímco jednotlivé segmenty Bézierovy cesty jsou C -hladké, v bodech napojení máme zaručenu pouze parametrickou hladkost C 0. Hladkosti C 1 lze docílit, vzdáme-li se kontroly nad jedním z řídících bodů každé křivky a určíme jeho umístění tak, aby se v bodě napojení sousedních křivek jejich tečné vektory rovnaly. Společný krajní bod křivek A n = B 0 tedy musí být v polovině mezi řídícími body A n 1 a B 1. Často nám stačí napojení s geometrickou hladkostí G 1, v tom případě musíme body A n = B 0, A n 1 a B 1 umístit na společnou přímku. 17
18 Dělení segmentu. Pokud potřebujeme v určité části cesty větší kontrolu, je možné libovolný segment rozdělit na dva. Umístíme-li nové řídící body tak, aby byl na místě vkládaného kotvícího bodu zachován tečný vektor, tvar cesty se nezmění. Přidání bodu patří mezi základní nástroje při práci s cestami. 1.6 De Casteljaův algoritmus De Casteljaův algoritmus je rekurzivní metoda nalezení bodu na Bézierově křivce v daném bodě t. Algoritmus je také možné použít k získání kontrolních bodů křivek vzniklých rozdělením segmentu v bodě t na dva. Algoritmus. Mějme křivku c : [0, 1] R 2 stupně n zadanou body P 0 až P n a parametr t. Bod c(t) můžeme získat následujícím algoritmem. 1. Body P 0,..., P n označíme P 0,0,..., P 0,n. 2. Opakujeme následující krok pro r = 1,..., n 3. P r,i ((1 t)p r 1,i + (t)p r 1,i+1 ) i = 0,..., n r. 4. Vrátíme bod P n,0. Věta 1.3. Nechť kde c je Bézierova křivka daná body P 0,..., P n. De Castaljaův algoritmus se vstupem P 0,..., P n a t [0, 1] vrátí bod c(t). Důkaz. Na obrázku 1.7a je znázorněn algoritmus pro křivku stupně 6 zadanou body P 0,..., P 6. Sloupce odpovídají jednotlivým krokům algoritmu, levý sloupec tedy znázorňuje vstupní body P 0,0,..., P 0,6 a napravo je výsledný bod P 6,0. Šipkami je znázorněn vlastní výpočet (krok 3 algoritmu), šipka nahoru odpovídá vynásobení bodu číslem t a šipka dolů číslem (1 t). Podívejme se nyní, jak přispívá bod P 0,2 k výsledku. Bod P 0,2 se používá k výpočtu P 1,1 a P 1,2, ty se zase používají k výpočtu P 2,0, P 2,1 a P 2,2 atd. Je tedy zřejmé, že se bod P 0,2 bude podílet pouze na bodech, které spadají do modré oblasti vyznačené na obrázku. Přesné zastoupení bodu P 0,2 ve výsledku zjistíme sečtením zastoupení získaného po jednotlivých cestách. Uvažujme například posloupnost P 0,2 P 1,2 P 2,1 P 3,1 P 4,1 P 5,1 P 6,0. 18
19 (a) (b) Obrázek 1.7: Důkaz korektnosti De Casteljaova algoritmu V bodě P 1,2 má bod P 0,2 zastoupení (1 t). V bodě P 2,1 má bod P 1,2 zastoupení t, bod P 0,2 tedy t(1 t). Takto dojdeme k výsledku, že bod P 0,2 získá po této cestě ve výsledném bodě zastoupení t 2 (1 t) 4. Obecně je zastoupení bodu P 0,i v bodě P n,0 po dané cestě dáno počtem šipek nahoru (násobení t) a dolů (násobení (1 t)), které cesta obsahuje. Snadno ale nahlédneme, že tento počet je pro všechny cesty stejný, a to sice i šipek nahoru a (n i) šipek dolů (obrázek 1.7b). Po jedné cestě tedy získá bod P 0,i zastoupení t i (1 t) n i. Celkový počet cest z P 0,i do P n,0 je dán kombinačním číslem ( ) ( i+(n i) i = n ) i (vybíráme i šipek nahoru z celkové délky cesty n). Celkové zastoupení bodu P 0,i ve výsledku je tedy ( ) n t i (1 t) n i, i což je i-tý Bernsteinův polynum stupně n. Bod P n,0 tedy můžeme napsat jako P n,0 = n B i,n (t)p 0,i. (1.8) i=0 To je ale Bézierova křivka c v bodě t. Dokázali jsme tedy P n,0 = c(t). 19
20 (a) Kvadratická Bézierova křivka (b) Kubická Bézierova křivka Obrázek 1.8: Konstrukce Bézierovy křivky de Castaljaovým algoritmem Poznámka. De Casteljaův algoritmus můžeme také interpretovat geometricky následujícím způsobem. 1. Rozdělíme úsečky mezi sousedními body v poměru t a (1 t). 2. Vzniklé body opět spojíme úsečkami a postup opakujeme dokud nezbude poslední bod. 3. Poslední bod je roven c(t). Postup je znázorněn na obrázku Racionální Bézierovy křivky Aproximace kruhu. Bézierovy křivky mají za složky polynomy stupně n, není tedy možné jimi vyjádřit například kružnici. Často se dostáváme do situace, kdy je potřeba kruh alespoň aproximovat. To se zpravidla dělá čtyřmi Bézierovými křivkami, jednou pro každý kvadrant. 5 5 Detaily jsou uvedeny v [13]. 20
21 (a) Aproximace čtyřmi kubikami (b) Aproximace osmi kvadrikami Obrázek 1.9: Aproximace kruhu pomocí Bézierových křivek Rozšíříme-li kontrolní body Bézierovy křivky o jeden rozměr tak, že každému bodu P i přiřadíme váhu w i, získáme nový druh křivek, tzv. Racionální Bézierovy křivky. Pomocí těch už je možné přesně reprezentovat konické sekce, tedy části elips a hyperbol. Obrázek 1.10: Racionální kvadratická Bézierova křivka Definice Nechť B i,n jsou Bernsteinovy polynomy stupně n. Racionální Bézierova křivka stupně n je parametrizovaná křivka c : [0, 1] R 2 určena body P 0,..., P n R 2 s váhami w 0,..., w n [0, ) a vztahem c(t) = n i=0 P ib i,n (t)w i n i=0 B i,n(t)w i t [0, 1]. (1.9) Poznámka. (i) Nezáleží na absolutní hodnotě vah, pouze na jejich poměru. 21
22 (ii) Jsou-li váhy všech bodů stejné, dostáváme díky vztahu (1.1) obyčejnou Bézierovu křivku. (iii) Mějme kvadratickou racionální Bézierovy křivku s w 0 = w 2 = 1. Položíme-li w 1 = 1, získáme parabolu. Pro w 1 < 1 dostaneme elipsu a pro w 1 > 1 hyperbolu. Viz obrázek
23 1.8 Využití Bézierových křivek V této části si na několika příkladech ukážeme, jakým způsobem jsou Bézierovy křivky využity v běžně používaných formátech vektorové grafiky SVG SVG je formát pro popis dvourozměrné vektorové grafiky založený na technologii XML. Jeho vývoj byl zahájen v roce 1999 konzorciem W3C. Motivací jeho tvorby byl chybějící otevřený standard vektorové grafiky použitelný v prostředí internetu. Dnes je formát podporován většinou internetových prohlížečů 6 a řadou grafických editorů. Dá se tedy očekávat, že se dále rozšíří a stane se alternativou k formátům JPEG a PNG pro účely vektorové grafiky. Obrázek 1.11: Příklad SVG Na obrázku 1.11 je jednoduchý příklad vektorové grafiky, obdélník se zaoblenými rohy překrytý znakem A, který má nastavenou 50% průhlednost. Podívejme se nyní na zdrojový kód v SVG. 6 Tedy všemi významnými prohlížeči s výjimkou Internet Exploreru. Microsoft oznámil podporu SVG v připravované verzi IE9. 23
24 Ukázka: Soubor ve formátu SVG <? xml version =" 1.0 "?> <! DOCTYPE svg PUBLIC " -// W3C // DTD SVG 1.1// EN" " http: // / Graphics / SVG /1.1/ DTD / svg11. dtd "> <svg xmlns =" http: // /2000/ svg " width =" 467 " height =" 462 "> <rect x="10" y="70" width =" 100 " height =" 100 " rx="10" fill =" red " stroke =" black " stroke - width ="2px" /> <text x="10" y=" 210 " font - size =" 300 " fill =" blue " fill - opacity =" 0.5 ">A</ text > </ svg > Obdélník je popsán xml elementem <rect>, text elementem <text>. Tyto objekty jsou obsaženy v kořenovém elementu <svg> a soubor je opatřen XML a DOCTYPE hlavičkami. Umístění, barva, průhlednost a další vlastnosti jsou popsány v atributech příslušných elementů. Formát SVG podporuje také CSS styly 7 a jazyk XLink. 8 Kompletní specifikace [10] je dostupná na stránkách konzorcia W3C. 9 Cesty v SVG. Jedním ze základních nástrojů formátu SVG jsou cesty popsané v XML elementu <path>. Cesty v SVG jsou posloupnostmi segmentů, které mohou být čtyř typů - rovné čáry, kubické Bézierovy křivky, kvadratické Bézierovy křivky a eliptické oblouky. Cesty mohou být obtaženy nebo vyplněny, můžou sloužit jako vodítko pro text a animace, nebo je lze aplikovat na části obrázku jako tzv. vektorové masky. Obrázek 1.12: Text vedený podél Bézierovy cesty 7 Cascading Style Sheets, používají se také na stylování HTML dokumentů. 8 Jazyk popisující vztahy v rámci XML dokumentu, kromě SVG se využívá např. také v MathML
25 Vlastní cesta se specifikuje v kompaktním formátu pomocí atributu d elementu <path> za použití příkazů uvedených v tabulce 1.1. Mezi jednotlivé příkazy a jejich argumenty je možné vkládat čárky nebo mezery. Příkaz 10 Název Popis M x y moveto Počátek nové subcesty na pozici (x, y) Z closepath Uzavření subcesty úsečkou L x y lineto Úsečka do bodu (x, y) C x 1 y 1 x 2 y 2 x 3 y 3 curveto Kubická Bézierova křivka S x 2 y 2 x 3 y 3 smooth curveto Kubická Bézierova křivka navázána s hladkostí C 1. Bod P 1 je dopočítán. Q x 1 y 1 x 2 y 2 quadratic curveto Kvadratická Bézierova křivka T x 2 y 2 smooth quadratic curveto Kvadratická Bézierova křivka navázána s hladkostí C 1. Bod P 1 je dopočítán A r x r y r l s x y elliptical arc Eliptický oblouk Tabulka 1.1: Příkazy pro tvorbu cest v SVG Cestu z obrázku 1.6 na straně 17 tedy můžeme zapsat jako <path d="m 100,300 C 200,50 300,50 350,200 S 400, ,300"/>. Vzhled cesty můžeme dále přizpůsobit pomocí atributů elementu <path>. Ty nejdůležitější jsou uvedeny v následující tabulce. Atribut stroke stroke-width stroke-dasharray stroke-linecap stroke-linejoin stroke-opacity fill fill-opacity transform pathlength Vlastnost barva křivky síla křivky vzor pro šrafování způsob zakončení křivky (ostré nebo zaoblené) způsob napojení segmetů (tři varianty) průhlednost křivky barva výplně průhlednost výplně transformace křivky, např. vynásobením zadanou maticí autorem vypočítaná délka křivky, vhodné k potlačení numerických chyb u animací a vedení textu podél křivky Tabulka 1.2: Atributy elementu <path> Na obrázku 1.13 jsou příklady několika kubických Bézierových křivek a jejich zápis v SVG. 10 U Bézierových segmentů, tedy u příkazů C, S, Q a T platí P i = (x i, y i ). 25
26 Obrázek 1.13: Příklad Beziérových křivek v SVG PostScript PostScript patří mezi tzv. jazyky pro popis stránek 11, popisuje tedy způsob, jakým bude stránka zobrazena na monitoru nebo vytištěna. PostScript je interpretovaný, dynamicky typovaný programovací jazyk založený na postfixové notaci. Obsahuje funkce určené k popisu a pozicování čar, křivek a dalších grafických prvků i pro vykreslování a formátování textu. Formát byl 11 Anglicky Page Description Languages (PDL). Do této skupiny patří také jazyky PDF, DVI nebo XPS. Všechny zmíněné jazyky podporují Bézierovy křivky. 26
27 vyvinut v roce 1985 firmou Adobe Systems jako standard pro komunikaci s dražšími tiskárnami, které PostScript dokáží interpretovat. Soubory PostScriptu používají příponu.ps, případně.eps. Později byl PostScript do značné míry nahrazen formátem PDF, který lze považovat za jeho nástupce. Specifikaci jazyka [11] vydává firma Adobe Systems. Křivky v PostScriptu. Jak již bylo řečeno, PostScript využívá postfixovou notaci, argumenty funkcí a procedur jsou tedy uvedeny vždy před jejich názvem. Následující ukázka obsahuje jednoduchý příklad kompletního PostScript souboru. Ukázka: Soubor ve formátu PostScript %! PS setbbox % Set boundary box moveto % Move to starting point curveto % First cubic segment curveto % Second cubic segment stroke % Close curve showpage % Print all on the page Soubor začíná hlavičkou %!PS, následuje příkaz setbbox, který vymezuje oblast do které se bude kreslit. Příkazy moveto a curveto definují vlastní Bézierovu cestu (pořadí argumentů je stejné jako v SVG). Příkaz stroke potom křivku obtáhne (alternativou je příkaz fill, který cestou ohraničenou oblast vyplní). Příkazem showpage se stránka uzavře a vykreslí. Výsledek je na obrázku Obrázek 1.14: Bézierova cesta v PostScriptu 27
28 Kapitola 2 DCT komprese Obrázky mohou obsahovat značné množství informace 1 a bývají reprezentovány datovými strukturami, jejichž velikost často činí problémy při jejich uskladnění či přenosu po síti. Pomocí bezztrátové komprese lze velikost obrázků snížit na určitou úroveň, potřebujeme-li však vyšší míru komprese, musíme se vzdát požadavku na zachování veškeré informace. Naštěstí se ukazuje, že obrázky obsahují zpravidla informace více, než je potřeba k naplnění jejich úlohy. Podstatou ztrátové komprese tedy bude identifikovat a vypustit ony nepodstatné detaily. Tato kapitola pojednává o metodě založené na diskrétní kosinové transformaci (DCT), která vychází v z předpokladu, že vysoké frekvence (tedy rychlé změny) jsou pro vnímání obrázku méně důležité než frekvence nízké (pomalé změny). Obrázek je možné chápat jako matici, v jejíž složkách jsou uloženy stupně šedi, 2 tedy jako bod vektorového prostoru. Pomocí diskrétní kosinové transformace ho můžeme převést do báze, kde jako složky souřadnic vystoupí zastoupení jednotlivých frekvencí. Hodnoty u vysokých frekvencí pak můžeme zaokrouhlit nebo úplně vypustit. V první části této kapitoly dojdeme od Fourierových řad k diskrétní kosinové transformaci, v druhé části pak představíme formát JPEG, který je na DCT kompresi založen. Teoretická část je zpracovaná podle materiálů [14], [15], [16] a [17], praktická část podle [18], [19] a vlastní specifikace formátu JPEG [20]. 1 Slovem informace zde míníme informaci ve smyslu Shannonovy teorie informace, která má s kompresí úzkou souvislost [16]. 2 Např. na stupnici od 0 do
29 2.1 Fourierovy řady Fourierova řada slouží k vyjádření periodické funkce jako nekonečného součtu jednoduchých harmonických funkcí. Fourierovy řady jsou pojmenovány po francouzském matematikovi a lékaři Josephu Fourierovi ( ), který k nim dospěl při hledání řešení rovnice vedení tepla v železné desce. Na obrázku 2.1 je znázorněna aproximace jednoduchých funkcí pomocí několika částečných součtů jejich Fourierových řad. Obrázek 2.1: Částečné součty Fourierových řad Trigonometrické Fourierovy řady Definice 2.1. Funkce f se nazývá 2π-periodická, platí-li pro všechna x R vztah f(x + 2π) = f(x). Množinu všech 2π-periodických funkcí značíme P 2π. Definice 2.2. Nechť f je 2π-periodická funkce. Řekneme, že je po částech spojitá, existuje-li konečně mnoho bodů π x 1 <... < x m < π 29
30 tak, že f je na intervalech (x i, x i+1 ) spojitá a v krajních bodech těchto intervalů má vlastní jednostranné limity. Definice 2.3. Nechť f P 2π je po částech spojitá funkce. Řekneme, že je po částech hladká, existuje-li konečně mnoho bodů π x 1 <... < x m < π tak, že f má na intervalech (x i, x i+1 ) spojitou derivaci a v krajních bodech těchto intervalů má f i její derivace f vlastní jednostranné limity. Definice 2.4. Nechť funkce f P 2π je Lebesgueovsky integrovatelná na intervalu [ π, π]. Jejími trigonometrickými Fourierovými koeficienty rozumíme čísla a n = 1 π b n = 1 π π π π π f(x) cos(nx) dx n 0, f(x) sin(nx) dx n 1. Trigonometrickou Fourierovou řadou funkce f pak rozumíme řadu a (a n cos(nx) + b n sin(nx)). (2.1) n=1 Věta 2.1. Nechť f P 2π je po částech hladká. Pak platí (i) Trigonometrická Fourierova řada funkce f konverguje bodově na R a její součet v bodě x R je roven 1 2 ( lim f(t) + lim f(t)). t x t x+ (ii) Je-li navíc f spojitá na R, konverguje její trigonometrická Fourierova řada stejnoměrně a její součet v bodě x je roven f(x). Důkaz je uveden v knize [14]. Poznámka. (i) Je-li f sudá, jsou koeficienty b n = 0. (ii) Je-li f lichá, jsou koeficienty a n = 0. 30
31 2.1.2 Exponenciální Fourierovy řady Pojem Fourierovy řady je možné rozšířit také na komplexní koeficienty. Definice 2.5. Nechť funkce f P 2π je Lebesgueovsky integrovatelná na intervalu [ π, π]. Exponenciálními Fourierovými koeficienty rozumíme čísla c n = 1 2π π π Exponenciální Fourierovou řadou pak řadu Poznámka. f(x) = f(x)e inx dx. (2.2) n= c n e inx. (2.3) (i) Eulerův vzorec e inx = cos(nx) + i sin(nx) nám dává následující vztahy mezi a n, b n a c n. a n = c n + c n n = 0, 1, 2,... (2.4) b n = i(c n c n ) n = 1, 2,... (2.5) (ii) Exponenciální Fourierovy řady tvoří základ mimořádně významné Fourierovy transformace Fourierova transformace Fourierovy řady motivují definici Fourierovy transformace [15]. Nahradíme-li interval [ π, π] v exponenciální Fourierově řadě intervalem [ 1, 1 ], můžeme L L při L uvažovat místo posloupnosti koeficientů c n reálnou funkci ˆf. Místo sumy (2.2) pak píšeme integrál a pro f L 1 (R) získáme rovnost ˆf(ξ) = přičemž ˆf C(R). Je-li navíc ˆf L 1 (R), platí také f(x) e 2πixξ dx, (2.6) f(x) = ˆf(ξ) e 2πixξ dξ s.v. (2.7) 31
32 2.2 Diskrétní Fourierova transformace Rovnosti (2.6) a (2.7) mají řadu aplikací, pro naše potřeby jsou ale nevhodné. V praxi totiž nemůžeme zaznamenat signál pro všechny hodnoty t z intervalu 0 t T. Místo toho máme naměřenou hodnotu signálu v určitých okamžicích t n z tohoto intervalu. Mezi okamžiky t n se běžně dodržuje pravidelný interval. V této části představíme diskrétní Fourierovu transformaci, kterou lze použít k převedení diskrétního signálu z časové domény do frekvenční. Dále rozšíříme tento koncept na dvourozměrné signály Diskrétní ortogonální transformace Definice 2.6. Nechť {e 0,..., e N 1 } je nějaká ortogonální báze prostoru C N. Pak pro každý vektor v C N existuje právě jeden vektor v C N, pro který platí v = N 1 j=0 v(j)e j. (2.8) Říkáme, že vektor v je ortogonální transformace vektoru v vzhledem k bázi {e 0,..., e N 1 }. Poznámka. (i) Z pohledu lineární algebry je proces ortogonální transformace změnou báze. Vektor v jsou nové souřadnice vektoru v vzhledem k bázi {e 0,..., e N 1 }. (ii) Označme E matici složenou ze sloupců e i. Rovnost (2.8) můžeme napsat jako v = E v (2.9) Věta 2.2. Nechť je báze {e 0,..., e N 1 } navíc ortonormální. Pak pro všechna v C N platí vztah v = (E) v (2.10) Důkaz. Sloupce matice E jsou ortonormální, zřejmě tedy platí (E) E = I a E 1 = (E). Odtud a z (2.9) dostaneme tvrzení. 32
33 2.2.2 Diskrétní Fourierova transformace Definice 2.7. Systém w k = 1 N 1 e 2πik/N. e 2πijk/N. e 2πi(N 1)k/N k = 0,..., N 1 (2.11) tvoří ortonormální bázi prostoru C N. Ortonormální transformaci vzhledem k této bázi nazveme Diskrétní Fourierova transformace (DFT) Ze vztahů (2.9) a (2.10) dostaneme vzorce Poznámka. ĥ(v) = h(k) = N 1 1 h(k)e 2πikv/N v = 0,..., N 1, (2.12) N k=0 N 1 1 ĥ(v)e 2πikv/N k = 0,..., N 1. (2.13) N v=0 (i) Počítání DFT pomocí vzorce (2.12) vyžaduje N 2 operací. Existuje však velice efektivní algoritmus zvaný FFT (Fast Fourier Transform), pomocí kterého lze DFT vypočítat pomocí O(N log N) operací. Stejným algoritmem lze navíc počítat i zpětnou transformaci, navíc má velmi jednoduchou strukturu a je ideální pro hardwarovou implementaci. (ii) Diskrétní Fourierova transformace má široké využití ve spektrální analýze k převedení navzorkovaného signálu z časové domény do frekvenční. Další důležité uplatnění této transformace je při násobení polynomů dva polynomy stupně n se převedou z reprezentace pomocí n koeficientů do funkčních hodnot v n bodech, tyto hodnoty se potom po dvojicích vynásobí a výsledek se převede zpět do reprezentace pomocí koeficientů. Při správně zvolených bodech lze k převodu mezi dvěma reprezentacemi použít diskrétní Fourierovu transformaci. Díky efektivními algoritmu FFT pak lze polynomy násobit v čase O(N log N) (triviální algoritmus potřebuje O(N 2 )). Podrobný popis této metody najdeme v [21]. 33
34 2.2.3 Diskrétní kosinová transformace (DCT II) Definice 2.8. Systém a k = C(k) cos kπ 2N cos 3kπ 2N. cos (2N 1)kπ 2N k = 0,..., N 1, (2.14) kde C(0) = 1/N a C(k) = 2/N pro k 0 tvoří ortonormální bázi. Ortonormální transformaci vzhledem k této bázi nazveme Diskrétní kosinová transformace (DCT II). Obrázek 2.2: Báze DCT pro N = 8 Ze vztahů (2.9) a (2.10) získáme rovnosti x(v) = x(v) = N 1 k=0 x(k)c(v) cos N 1 x(v)c(v) cos v=0 (2k + 1)vπ 2N (2k + 1)vπ 2N v = 0,..., N 1, (2.15) k = 0,..., N 1. (2.16) Tento typ transformace se po rozšíření do dvou rozměrů (které bude dále popsáno) využívá ve formátu JPEG. 34
35 Poznámka. Má-li vektor x reálné složky, bude mít jeho DCT transformace x také pouze reálné složky. Říkáme, že DCT je reálná transformace. Platí tedy kde A je matice složená ze sloupců a i D Transformace v = A v (2.17) v = A v (2.18) Abychom mohli pracovat s dvourozměrnými signály (v našem případě s obrázky), potřebovali bychom rozšířit diskrétní transformace do 2D. Obě transformace představené v minulé sekci, tedy DCT a DFT jsou speciálními případy obecnějších ortogonálních transformací. V této sekci nejprve ukážeme, jak tyto transformace obecně rozšířit do 2D. Potom postup demonstrujeme na 2D diskrétní kosinové transformaci, která se používá ve specifikaci JPEG D ortogonální Transformace Prvky báze ortogonální 2D transformace můžeme zkonstruovat z báze jednorozměrné ortogonální transformace. Mějme ortogonální transformaci s bází {e 0,..., e N 1 }. Pro každou dvojici u, v = 0,..., N 1 definujme matici B uv, jejíž prvky jsou dány B uv (j, k) = e u (j)e v (k) 0 j, k N 1. (2.19) Dá se ukázat že těchto N 2 matic tvoří ortonormální bázi prostoru C N 2. Nechť nyní f je matice typu N N. Existuje právě jedna matice ˆf tak, že f(j, k) = N 1 u,v=0 ˆf(j, k)b uv (j, k). (2.20) Matici ˆf budeme říkat transformace matice f vzhledem k bázi Analogicky jako v (2.10) platí {B uv 0 u, v N 1}. ˆf(u, v) = N 1 j,k=0 f(j, k)b uv (j, k). (2.21) 35
36 Poznámka. Dále bude výhodné si matici f představovat jako diskrétní dvourozměrný signál, tedy například obrázek, kde hodnota prvku f(j, k) reprezentuje intenzitu (resp. stupeň šedi) na pozici (j, k) obrázku D kosinová Transformace Aplikujeme-li výše uvedený postup na vektory {a 0,..., a N 1 } z (2.14), získáme ortonormální bázi prostoru C N 2 tvořenou maticemi B uv s prvky B uv (j, k) = C(u) cos (2j + 1)uπ C(v) cos 2N (2k + 1)vπ. (2.22) 2N Obrázek 2.3: Báze dvourozměrné DCT pro N = 8 Dosazením do vztahů (2.20) a (2.21) získáme následující vztahy pro dopřednou a inverzní transformaci: ˆf(u, v) = f(j, k) = N 1 j,k=0 N 1 u,v=0 f(j, k)c(u) cos ˆf(u, v)c(u) cos (2j + 1)uπ (2k + 1)vπ C(v) cos 2N 2N (2j + 1)uπ C(v) cos 2N (2.23) (2k + 1)vπ (2.24) 2N Tento typ transformace se používá ve standardu JPEG. 36
37 2.4 Formát JPEG Formát JPEG je je dnes v podstatě jediný rozšířený formát v oblasti ztrátové komprese obrázků. K jeho popularitě zajisté přispěl fakt, že se jedná o otevřený formát, především ale JPEG dosahuje vynikajících výsledků na široké třídě obrázků při minimálních požadavcích na zdroje. JPEG je založen na myšlence lokální aproximace obrázek je rozdělen do bloků o velikosti 8 8 pixelů a bloky jsou poté zpracovávány jednotlivě. Díky tomu je implementace standardu jednoduchá, při vysoké kompresi jsou ale bloky na výsledném obrázků zřetelné. JPEG je pojmenován po expertní skupině Joint Photographic Experts Group, která standard [20] vytvořila. Práce na standardu začali v polovině osmdesátých let, hlavními požadavky byla efektivní implementace v HW i SW, podpora černobílých i barevných obrázků s barevnou hloubkou 24 a 36 bitů. V roce 1992 byl standard schválen pod označením ISO/IEC Přestože standard JPEG obsahuje také algoritmus pro bezztrátovou kompresi, ten se v praxi nikdy neprosadil a většina produktů tento režim nepodporuje. Skupina vydala později také standard JPEG 2000, který je založený na tzv. waveletech. Tento formát dosahuje výrazně lepších výsledků než JPEG, především při vysokých kompresních poměrech. Díky rozšířenosti formátu JPEG, jehož kvalita pro většinu aplikací dostačuje, se ale nový formát dodnes příliš nerozšířil. Komprese. Průběh komprese rozdělíme na pět fází: 1. Snížení rozlišení chromatických složek. Obrázek se převede do reprezentace, ve které jsou odděleny informace o intezitě a barvě jednotlivých bodů. Barevným složkám poté může být sníženo rozlišení až na polovinu. 2. Rozdělení obrázku do bloků. Obrázek se rozdělí do bloků o velikosti 8 8 pixelů. Například fotografie s rozlišením pixelů (běžné rozlišení digitálních fotoaparátů) bude rozdělena na = bloků. 3. Transformace bloků. Každý blok je transformován tak, aby bylo zřetelné zastoupení jednotlivých prostorových frekvencí. JPEG využívá dvourozměrnou DCT transformaci typu II. 37
38 (a) původní PNG, 556 kb (b) JPEG, 154 kb (c) JPEG, 61 kb (d) JPEG, 13 kb (e) JPEG, 8 kb (f) JPEG, 4 kb Obrázek 2.4: Ukázka JPEG komprese: Lenaÿ ( ) 38
39 (a) původní PNG, 556 kb (b) JPEG, 154 kb (c) JPEG, 61 kb (d) JPEG, 13 kb (e) JPEG, 8 kb (f) JPEG, 4 kb Obrázek 2.5: Ukázka JPEG komprese: Lena ( ), výřez
40 4. Kvantizace. V závislosti na požadovaném kompresním poměru jsou koeficienty v transformovaném bloku kvantizovány, tedy je redukován počet hodnot kterých mohou nabývat. Kvantizace je agresivnější u koeficientů s vyššími frekvencemi. Při maximální míře kvantizace dochází k vynulování příslušných koeficientů. V tomto kroku dochází ke ztrátě informace. 5. Kódování. Výstup předchozího kroku je zakódován metodami bezztrátové komprese. JPEG podporuje Huffmanovo a aritmetické kódování, to druhé však nebývá vždy implementováno. 6. Uložení. Výsledný proud dat je spolu s dalšími informacemi uložen do souboru typu JFIF. Jednotlivé fáze budou nyní popsány podrobněji Převod z RGB do Y C b C r Barevné obrázky jsou v počítači zpravidla reprezentovány pomocí tří složek, které odpovídají červené, zelené a modré barvě. Počet bitů potřebný k uložení jednoho obrazového bodu (pixelu) se nazývá barevná hloubka. Dnes je zdaleka nejrozšířenější barevná hloubka 24 bitů, tedy 8 bitů na barevnou složku. Standard JPEG podporuje také obrázky s barevnou hloubkou 36 bitů, tato varianta však většinou nebývá implementována. Základní barvy modrá, zelená a červená odpovídají třem druhům fotoreceptorů v oční sítnici a hodnoty barevných složek obrázku se přímo převádějí na intenzitu vyzařování dané barvy na zobrazovacím zařízení. Obrázek 2.6: Detail RGB mřížky na CRT monitoru Základem ztrátové komprese je oddělení důležité informace od té méně důležité. Využijeme faktu, že lidské oko je citlivější na rozdíly v intenzitě (luminiscenci) než v barvě (chrominanci) [22]. Převedeme tedy obrázek z 40
41 barevného prostoru RGB do prostoru Y C b C r, kde složka Y odpovídá luminiscenci a složky C b a C r ponesou informaci o barvě. Na tyto dvě složky pak můžeme aplikovat vyšší míru komprese, nebo dokonce snížit jejich rozlišení. Převod z prostoru RGB do Y C b C r lze provést pomocí následujících vztahů, které jsou přímo součástí specifikace. Y = 0, 299R + 0, 587G + 0, 114B C b = 0, 1687R 0, 3313G + 0, 5B C r = 0, 5R 0, 4187G 0, 0813B Podvzorkování chromatických složek Po převedení obrázku do barevného prostoru Y C b C r následuje snížení rozlišení (podvzorkování) složek C b a C r, tedy sloučení několika sousedních pixelů (bloku) do jednoho. Hodnota v novém pixelu se nastaví na průměr bloku. Formát JPEG podporuje tři režimy: 1. původní rozlišení, 2. snížené rozlišení, bloky 1 2 pixelů, 3. snížené rozlišení, bloky 2 2 pixelů. Volba režimu podvzorkování je buď ponechána na uživateli nebo většinou nastavena automaticky programem v závislosti na zvolené kvalitě komprese. Snížení rozlišení barevných složek na polovinu se může zdát jako velmi drastické snížení kvality, ve většině případech to ale z několika důvodů není špatná strategie: Lidské oko je citlivější na intenzitu než na barvu. Většina digitálních fotoaparátů generuje obrázky s nižším rozlišením barev než je rozlišení obrázku. Barvy jednotlivých bodů jsou výsledkem interpolace několika sousedících barevných čidel na senzoru. Přestože se podvzorkování barevných složek chová poměrně dobře na větších barevných plochách, může způsobovat významné zkreslení barev v blízkosti hran. K největšímu zkreslení dochází v případě barevných pruhů širokých přibližně jeden pixel, viz obrázek
42 (a) původní obrázek (b) složky R, G, B (c) složky Y, Cb, Cr Obrázek 2.7: Převod z barevného prostoru RGB do Y Cb Cr 42
43 (a) původní rozlišení (b) snížené rozlišení, bloky 2 2 Obrázek 2.8: Zkreslení barev při podvzorkování chromatických složek Transformace bloků V dalším kroku jsou jednotlivé barevné složky rozděleny do bloků o velikosti 8 8 pixelů. Na tyto bloky je potom aplikována diskrétní kosinová transformace typu II, která byla představena v sekci ˆf(u, v) = N 1 j,k=0 f(j, k)c(u) cos Kvantizace koeficientů (2j + 1)uπ (2k + 1)vπ C(v) cos 2N 2N Kvantizace můžeme definovat jako rozdělení spojitého intervalu na několik podintervalů, přičemž každý podinterval je reprezentován hodnotou z nějaké diskrétní množiny. Příkladem kvantizace je zaokrouhlení čísla na určitý počet desetinných míst. V kompresi JPEG dochází ke kvantizaci DCT koeficientů obsažených v matici ˆf(u, v) vypočítané v předchozím kroku. Hodnoty v této matici jsou celočíselně vyděleny složkami tzv. kvantizační matice. Čím vyšší číslo se nachází na příslušném místě v kvantizační matici, tím méně hodnot může příslušný koeficient nabývat. Míra kvantizace bude samozřejmě nižší u koeficientů odpovídajících nízkým frekvencím (tedy levý horní roh matice). Toto je běžně používaná kvantizační matice definovaná ve standardu JPEG 43
44 Q = Kvantizace DCT koeficientů vede k tomu, že se ve výsledné matici často opakují nízké hodnoty. Většina kvantizacovaných koeficientů bývá dokonce rovna nule. Tím jsou připraveny ideální podmínky pro další fázi, která na kvantizovaná data aplikuje metody bezztrátové komprese Kódování Dále jsou kvantizované hodnoty linearizovány: přečteny v pořadí od nízkých frekvencí směrem k vysokým, přitom jsou speciálně kódovány sekvence po sobě jdoucích nul. Následují-li navíc po některém koeficientu již jen samé nuly, je sekvence ukončena speciálním symbolem EOB. Obrázek 2.9: Linearizace DCT koeficientů První koeficient, který odpovídá průměrné barvě bloku se označuje jako DC koeficient, ostatní jako AC koeficienty. Při linearizaci je od DC koeficientu odečtena hodnota DC koeficientu předchozího bloku. Tento krok vychází z faktu, že hodnoty DC koeficientů bývají v sousedních blocích podobné, tímto postupem se tedy dosahuje nižších hodnot, které se efektivněji kódují. 44
45 Linearizovaná posloupnost je zakódována pomocí Huffmanova kódování. Standard JPEG umožňuje také použití aritmetického kódování, které dosahuje o něco lepších výsledků než Huffmanovo, kvůli složitější implementaci ale nebývá podporováno. Huffmanovo kódování konvertuje jednotlivé hodnoty, které se v posloupnosti vyskytují do bitových řetězců různé délky. Hodnoty, které se v posloupnosti vyskytují nejčastěji jsou konvertovány na řetězce s nejmenším počtem bitů. Bitové řetězce různých hodnot jsou přitom zvoleny tak, aby byla zajištěna jednoznačnost výsledné sekvence (tedy žádný řetězec nesmí být prefixem jiného). Komprese touto metodou probíhá ve dvou fázích. První projde posloupnost a vytvoří tabulku četností jednotlivých hodnot. Ve druhé fázi se na základě těchto hodnot vytvoří převodní tabulka (ve skutečnosti se jedná o binární strom), která se potom aplikuje na vstupní posloupnost. Tato převodní tabulka je potřeba při následné dekompresi, je tedy nutné ji přiložit ke kódovaným datům. Při kódování linearizovaných dat se používají čtyři různé převodní tabulky: 1. tabulka s AC koeficienty luminiscentní složky Y, 2. tabulka s DC koeficienty luminiscentní složky Y, 3. tabulka s AC koeficienty chromatických složek C b a C r, 4. tabulka s DC koeficienty chromatických složek C b a C r Uložení do JFIF Posledním krokem v kompresi JPEG je uložení zkomprimovaných dat do souboru, jehož typ se označuje jako JFIF. Soubory v tomto formátu mají příponu.jpeg nebo.jpg. Soubor je rozdělen do segmentů, přičemž každý začíná tzv. značkou, což je dvoubytová hodnota, kde první byte má vždy hodnotu ff 3 a hodnota druhého bytu určuje typ segmentu. Například značka ffd8 označuje segment začátku souboru, značkou ffda začíná segment obsahující vlastní proud dat. Soubor dále obsahuje segmenty s definicemi použitých kvantizačních a Huffmanových tabulek, segmenty s informacemi o rozměrech a rozlišení obrázku atd. 3 Hodnoty budeme zapisovat v šestnáctkové soustavě. 45
46 V této části si ukážeme na konkrétním příkladu strukturu formátu JFIF. Komprimujeme obrázek o velikosti pixelů. Výsledek bude vypadat například takto: Ukázka: Soubor ve formátu JPEG/JFIF : ff d8 ff e a : ff db : a : c 0a 0c 0c 0b 0a 0b 0b 0d 0e d : 0 e 11 0 e 0 b 0 b c 0 f : ff db : d 0 b 0 d : : : ff c a0: b0: 01 ff c c0: a ff c d0: e0: ff c f0: ff c : : ff da 00 0 c : f 00 9 c a 0 d 7 e : b6 67 f1 8 c b7 7 b 17 8 b 6 f a af b : 00 e4 e8 c6 e6 6 d 0 f c b 4 e 72 bb : f a7 ff d9 Soubor obsahuje 11 segmentů, které nyní popíšeme. 1. Start Of Image (SOI). Značka začátku souboru : ff d8 2. Application Marker (APP0) JFIF hlavička : ff e a :
Bézierovy křivky Bohumír Bastl KMA/GPM Geometrické a počítačové modelování Bézierovy křivky GPM 1 / 26
Bézierovy křivky Bohumír Bastl (bastl@kma.zcu.cz) KMA/GPM Geometrické a počítačové modelování Bézierovy křivky GPM 1 / 26 Opakování Spline křivky opakování Bézierovy křivky GPM 2 / 26 Opakování Interpolace
VíceKTE/TEVS - Rychlá Fourierova transformace. Pavel Karban. Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni
KTE/TEVS - Rychlá Fourierova transformace Pavel Karban Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni 10.11.011 Outline 1 Motivace FT Fourierova transformace
VíceKosinová transformace 36ACS
Kosinová transformace 36ACS 10. listopadu 2006 Martin BruXy Bruchanov bruxy@regnet.cz Uplatnění diskrétní kosinové transformace Úkolem transformačního kódování je převést hodnoty vzájemně závislých vzorků
VíceFunkce komplexní proměnné a integrální transformace
Funkce komplexní proměnné a integrální transformace Fourierovy řady I. Marek Lampart Text byl vytvořen v rámci realizace projektu Matematika pro inženýry 21. století (reg. č. CZ.1.07/2.2.00/07.0332), na
VíceMATURITNÍ TÉMATA Z MATEMATIKY
MATURITNÍ TÉMATA Z MATEMATIKY 1. Základní poznatky z logiky a teorie množin Pojem konstanty a proměnné. Obor proměnné. Pojem výroku a jeho pravdivostní hodnota. Operace s výroky, složené výroky, logické
VíceTeorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy
Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014 Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo:
Více1 Báze a dimenze vektorového prostoru 1
1 Báze a dimenze vektorového prostoru 1 Báze a dimenze vektorového prostoru 1 2 Aritmetické vektorové prostory 7 3 Eukleidovské vektorové prostory 9 Levá vnější operace Definice 5.1 Necht A B. Levou vnější
VíceKMA/GPM Barycentrické souřadnice a
KMA/GPM Barycentrické souřadnice a trojúhelníkové pláty František Ježek jezek@kma.zcu.cz Katedra matematiky Západočeské univerzity v Plzni, 2008 19. dubna 2009 1 Trojúhelníkové pláty obecně 2 Barycentrické
VíceJana Dannhoferová Ústav informatiky, PEF MZLU
Počítačová grafika Křivky Jana Dannhoferová (jana.dannhoferova@mendelu.cz) Ústav informatiky, PEF MZLU Základní vlastnosti křivek křivka soustava parametrů nějaké rovnice, která je posléze generativně
Více15. listopadu Matematický ústav UK Matematicko-fyzikální fakulta. Hermitovská interpolace
Geometrické modelování Zbyněk Šír Matematický ústav UK Matematicko-fyzikální fakulta Hermitovská interpolace 15. listopadu 2017 Zbyněk Šír (MÚ UK) - Geometrické modelování 15. listopadu 2017 1 / 23 Hermiteovská
VíceMaticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:
3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...
VícePŘEDNÁŠKA 2 POSLOUPNOSTI
PŘEDNÁŠKA 2 POSLOUPNOSTI 2.1 Zobrazení 2 Definice 1. Uvažujme libovolné neprázdné množiny A, B. Zobrazení množiny A do množiny B je definováno jako množina F uspořádaných dvojic (x, y A B, kde ke každému
VíceKřivky a plochy technické praxe
Kapitola 7 Křivky a plochy technické praxe V technické praxi se setkáváme s tím, že potřebujeme křivky a plochy, které se dají libovolně upravovat a zároveň je jejich matematické vyjádření jednoduché.
VíceDerivace funkce. Přednáška MATEMATIKA č Jiří Neubauer
Přednáška MATEMATIKA č. 9-11 Katedra ekonometrie FEM UO Brno kancelář 69a, tel. 973 442029 email:jiri.neubauer@unob.cz Šotová, J., Doudová, L. Diferenciální počet funkcí jedné proměnné Motivační příklady
VíceKristýna Bémová. 13. prosince 2007
Křivky v počítačové grafice Kristýna Bémová Univerzita Karlova v Praze 13. prosince 2007 Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 1 / 36 Pojmy - křivky a jejich parametrické
VícePřednáška 3: Limita a spojitost
3 / 1 / 17, 1:38 Přednáška 3: Limita a spojitost Limita funkce Nejdříve je potřeba upřesnit pojmy, které přesněji popisují (topologickou) strukturu množiny reálných čísel, a to zejména pojem okolí 31 Definice
VíceÚvodní informace. 17. února 2018
Úvodní informace Funkce více proměnných Přednáška první 17. února 2018 Obsah 1 Úvodní informace. 2 Funkce více proměnných Definiční obor Limita a spojitost Derivace, diferencovatelnost, diferenciál Úvodní
VíceGymnázium Česká a Olympijských nadějí, České Budějovice, Česká 64, 37021
Maturitní témata MATEMATIKA 1. Funkce a jejich základní vlastnosti. Definice funkce, def. obor a obor hodnot funkce, funkce sudá, lichá, monotónnost funkce, funkce omezená, lokální a globální extrémy funkce,
VíceBakalářská matematika I
1. Funkce Diferenciální počet Mgr. Jaroslav Drobek, Ph. D. Katedra matematiky a deskriptivní geometrie Bakalářská matematika I Některé užitečné pojmy Kartézský součin podrobnosti Definice 1.1 Nechť A,
VíceUčební texty k státní bakalářské zkoušce Matematika Skalární součin. študenti MFF 15. augusta 2008
Učební texty k státní bakalářské zkoušce Matematika Skalární součin študenti MFF 15. augusta 2008 1 10 Skalární součin Požadavky Vlastnosti v reálném i komplexním případě Norma Cauchy-Schwarzova nerovnost
VíceVektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace
Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi
VíceInterpolace, ortogonální polynomy, Gaussova kvadratura
Interpolace, ortogonální polynomy, Gaussova kvadratura Petr Tichý 20. listopadu 2013 1 Úloha Lagrangeovy interpolace Dán omezený uzavřený interval [a, b] a v něm n + 1 různých bodů x 0, x 1,..., x n. Nechť
VíceČebyševovy aproximace
Čebyševovy aproximace Čebyševova aproximace je tzv hledání nejlepší stejnoměrné aproximace funkce v daném intervalu Hledáme funkci h x, která v intervalu a,b minimalizuje maximální absolutní hodnotu rozdílu
VíceINVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.
INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.0141 Báze vektorových prostorů, transformace souřadnic Michal Botur Přednáška
VíceMATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]
MATICE Matice typu m/n nad tělesem T je soubor m n prvků z tělesa T uspořádaných do m řádků a n sloupců: a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] a m1 a m2 a mn Prvek a i,j je prvek matice A na místě
VíceNecht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru
2. Systémy lineárních rovnic V této kapitole se budeme zabývat soustavami lineárních rovnic s koeficienty z pole reálných případně komplexních čísel. Uvádíme podmínku pro existenci řešení systému lineárních
Více7. Funkce jedné reálné proměnné, základní pojmy
, základní pojmy POJEM FUNKCE JEDNÉ PROMĚNNÉ Reálná funkce f jedné reálné proměnné je funkce (zobrazení) f: X Y, kde X, Y R. Jde o zvláštní případ obecného pojmu funkce definovaného v přednášce. Poznámka:
Více18 Fourierovy řady Úvod, základní pojmy
M. Rokyta, MFF UK: Aplikovaná matematika III kap. 18: Fourierovy řady 7 18 Fourierovy řady 18.1 Úvod, základní pojmy Otázka J. Fouriera: Lze každou periodickou funkci napsat jako součet nějakých "elementárních"
Více1 Linearní prostory nad komplexními čísly
1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)
VíceVektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice
Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u
VíceDefinice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují
Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),
VíceÚvod do lineární algebry
Úvod do lineární algebry 1 Aritmetické vektory Definice 11 Mějme n N a utvořme kartézský součin R n R R R Každou uspořádanou n tici x 1 x 2 x, x n budeme nazývat n rozměrným aritmetickým vektorem Prvky
Více1 Řešení soustav lineárních rovnic
1 Řešení soustav lineárních rovnic 1.1 Lineární rovnice Lineární rovnicí o n neznámých x 1,x 2,..., x n s reálnými koeficienty rozumíme rovnici ve tvaru a 1 x 1 + a 2 x 2 +... + a n x n = b, (1) kde koeficienty
VíceTransformace obrazu Josef Pelikán KSVI MFF UK Praha
Transformace obrazu 99725 Josef Pelikán KSVI MFF UK Praha email: Josef.Pelikan@mff.cuni.cz WWW: http://cgg.ms.mff.cuni.cz/~pepca/ Transformace 2D obrazu dekorelace dat potlačení závislosti jednotlivých
VíceMatematika (KMI/PMATE)
Úvod do matematické analýzy Funkce a její vlastnosti Funkce a její vlastnosti Veličina Veličina - pojem, který popisuje kvantitativní (číselné) vlastnosti reálných i abstraktních objektů. Funkce a její
VíceMatematická analýza III.
1. - limita, spojitost Miroslav Hušek, Lucie Loukotová UJEP 2010 Úvod Co bychom měli znát limity posloupností v R základní vlastnosti funkcí jedné proměnné (definiční obor, monotónnost, omezenost,... )
Vícei=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice
I. Funkce dvou a více reálných proměnných 1. Úvod Značení: V textu budeme používat označení: N pro množinu všech přirozených čísel; R pro množinu všech reálných čísel; R n pro množinu všech uspořádaných
VíceFunkce a limita. Petr Hasil. Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF)
Funkce a limita Petr Hasil Přednáška z matematiky Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na discipĺıny společného základu
VíceObčas se používá značení f x (x 0, y 0 ), resp. f y (x 0, y 0 ). Parciální derivace f. rovnoběžného s osou y a z:
PARCIÁLNÍ DERIVACE Jak derivovat reálné funkce více proměnných aby bylo možné tyto derivace použít podobně jako derivace funkcí jedné proměnné? Jestliže se okopíruje definice z jedné proměnné dostane se
VíceTexty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech
Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech 1. července 2008 1 Funkce v R n Definice 1 Necht n N a D R n. Reálnou funkcí v R n (reálnou funkcí n proměnných) rozumíme zobrazení
VíceTěleso racionálních funkcí
Těleso racionálních funkcí Poznámka. V minulém semestru jsme libovolnému oboru integrity sestrojili podílové těleso. Pro libovolné těleso R je okruh polynomů R[x] oborem integrity, máme tedy podílové těleso
VíceZavedeme-li souřadnicový systém {0, x, y, z}, pak můžeme křivku definovat pomocí vektorové funkce.
KŘIVKY Křivka = dráha pohybujícího se bodu = = množina nekonečného počtu bodů, které závisí na parametru (čase). Proto můžeme křivku také nazvat jednoparametrickou množinou bodů. Zavedeme-li souřadnicový
Více10 Funkce více proměnných
M. Rokyta, MFF UK: Aplikovaná matematika II kap. 10: Funkce více proměnných 16 10 Funkce více proměnných 10.1 Základní pojmy Definice. Eukleidovskou vzdáleností bodů x = (x 1,...,x n ), y = (y 1,...,y
Více0.1 Funkce a její vlastnosti
0.1 Funkce a její vlastnosti Veličina - pojem, který popisuje kvantitativní (číselné) vlastnosti reálných i abstraktních objektů. Příklady veličin: hmotnost (m) čas (t) výše úrokové sazby v bance (i) cena
VíceFOURIEROVA ANAL YZA 2D TER ENN ICH DAT Karel Segeth
FOURIEROVA ANALÝZA 2D TERÉNNÍCH DAT Karel Segeth Motto: The faster the computer, the more important the speed of algorithms. přírodní jev fyzikální model matematický model numerický model řešení numerického
VíceDerivace funkce Otázky
funkce je jedním z hlavních nástrojů matematické analýzy. V příští části ukážeme, jak mnoho různorodých aplikací derivace má. Geometricky lze derivaci funkce v nějakém bodě chápat jako směrnici tečny grafu
Více16 Fourierovy řady Úvod, základní pojmy
M. Rokyta, MFF UK: Aplikovaná matematika IV kap. 16: Fourierovy řady 1 16 Fourierovy řady 16.1 Úvod, základní pojmy Otázka J. Fouriera: Lze každou periodickou funkci napsat jako součet nějakých "elementárních"
VíceMatematika I (KMI/PMATE)
Přednáška první aneb Úvod do matematické analýzy Funkce a její vlastnosti Úvod do matematické analýzy Osnova přednášky pojem funkce definice funkce graf funkce definiční obor funkce obor hodnot funkce
VíceIB112 Základy matematiky
IB112 Základy matematiky Řešení soustavy lineárních rovnic, matice, vektory Jan Strejček IB112 Základy matematiky: Řešení soustavy lineárních rovnic, matice, vektory 2/53 Obsah Soustava lineárních rovnic
VíceEUKLIDOVSKÉ PROSTORY
EUKLIDOVSKÉ PROSTORY Necht L je lineární vektorový prostor nad tělesem reálných čísel R. Zobrazení (.,.) : L L R splňující vlastnosti 1. (x, x) 0 x L, (x, x) = 0 x = 0, 2. (x, y) = (y, x) x, y L, 3. (λx,
Více3 Lineární kombinace vektorů. Lineární závislost a nezávislost
3 Lineární kombinace vektorů. Lineární závislost a nezávislost vektorů. Obrázek 5: Vektor w je lineární kombinací vektorů u a v. Vektory u, v a w jsou lineárně závislé. Obrázek 6: Vektor q je lineární
VíceMgr. Ladislav Zemánek Maturitní okruhy Matematika 2013-2014. 1. Obor reálných čísel
Mgr. Ladislav Zemánek Maturitní okruhy Matematika 2013-2014 1. Obor reálných čísel - obor přirozených, celých, racionálních a reálných čísel - vlastnosti operací (sčítání, odčítání, násobení, dělení) -
Více10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo
0. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo (PEF PaA) Petr Gurka aktualizováno 9. prosince 202 Obsah Základní pojmy. Motivace.................................2 Aritmetický vektorový
VíceV předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti
Kapitola 5 Vektorové prostory V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti operací sčítání a násobení
VíceDerivace funkce DERIVACE A SPOJITOST DERIVACE A KONSTRUKCE FUNKCÍ. Aritmetické operace
Derivace funkce Derivace je jedním z hlavních nástrojů matematické analýzy. V příští části ukážeme, jak mnoho různorodých aplikací derivace má. Geometricky lze derivaci funkce v nějakém bodě chápat jako
VíceMaturitní témata z matematiky
Maturitní témata z matematiky G y m n á z i u m J i h l a v a Výroky, množiny jednoduché výroky, pravdivostní hodnoty výroků, negace operace s výroky, složené výroky, tabulky pravdivostních hodnot důkazy
VíceDiferenciální počet 1 1. f(x) = ln arcsin 1 + x 1 x. 1 x 1 a x 1 0. f(x) = (cos x) cosh x + 3x. x 0 je derivace funkce f(x) v bodě x0.
Nalezněte definiční obor funkce Diferenciální počet f = ln arcsin + Definiční obor funkce f je určen vztahy Z těchto nerovností plyne < + ln arcsin + je tedy D f =, Určete definiční obor funkce arcsin
Více(Cramerovo pravidlo, determinanty, inverzní matice)
KMA/MAT1 Přednáška a cvičení, Lineární algebra 2 Řešení soustav lineárních rovnic se čtvercovou maticí soustavy (Cramerovo pravidlo, determinanty, inverzní matice) 16 a 21 října 2014 V dnešní přednášce
VíceElementární křivky a plochy
Příloha A Elementární křivky a plochy A.1 Analytický popis geometrických objektů Geometrické vlastnosti, které jsme dosud studovali, se týkaly především základních geometrických objektů bodů, přímek, rovin
Vícez = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i.
KOMLEXNÍ ČÍSLA C = {a + bi; a, b R}, kde i 2 = 1 Číslo komplexně sdružené k z = a + bi je číslo z = a bi. Operace s komplexními čísly: z = a + bi, kde a, b R v = c + di, kde c, d R Sčítání Odčítání Násobení
VíceAplikovaná numerická matematika
Aplikovaná numerická matematika 6. Metoda nejmenších čtverců doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních
VíceANALYTICKÁ GEOMETRIE V ROVINĚ
ANALYTICKÁ GEOMETRIE V ROVINĚ Analytická geometrie vyšetřuje geometrické objekty (body, přímky, kuželosečky apod.) analytickými metodami. Podle prostoru, ve kterém pracujeme, můžeme analytickou geometrii
Více0.1 Úvod do lineární algebry
Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Lineární rovnice o 2 neznámých Definice 011 Lineární rovnice o dvou neznámých x, y je rovnice, která může být vyjádřena ve tvaru ax + by = c, kde
VícePRIMITIVNÍ FUNKCE. Primitivní funkce primitivní funkce. geometrický popis integrály 1 integrály 2 spojité funkce konstrukce prim.
PRIMITIVNÍ FUNKCE V předchozích částech byly zkoumány derivace funkcí a hlavním tématem byly funkce, které derivace mají. V této kapitole se budou zkoumat funkce, které naopak jsou derivacemi jiných funkcí
Více6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2
6 Skalární součin Skalární součin 1 je operace, která dvěma vektorům (je to tedy binární operace) přiřazuje skalár (v našem případě jde o reálné číslo, obecně se jedná o prvek nějakého tělesa T ). Dovoluje
VíceMatematický ústav UK Matematicko-fyzikální fakulta
Geometrické modelování Zbyněk Šír Matematický ústav UK Matematicko-fyzikální fakulta 2. října 2018 Zbyněk Šír (MÚ UK) - Geometrické modelování 2. října 2018 1 / 15 Obsah dnešní přednášky Co je to geometrické
VíceOperace s maticemi. 19. února 2018
Operace s maticemi Přednáška druhá 19. února 2018 Obsah 1 Operace s maticemi 2 Hodnost matice (opakování) 3 Regulární matice 4 Inverzní matice 5 Determinant matice Matice Definice (Matice). Reálná matice
Více5. Lokální, vázané a globální extrémy
5 Lokální, vázané a globální extrémy Studijní text Lokální extrémy 5 Lokální, vázané a globální extrémy Definice 51 Řekneme, že f : R n R má v bodě a Df: 1 lokální maximum, když Ka, δ Df tak, že x Ka,
VíceGreenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice
Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice Jan Tomeček Tento stručný text si klade za cíl co nejrychlejší uvedení do teorie Greenových funkcí pro obyčejné diferenciální
VíceMultimediální systémy. 03 Počítačová 2d grafika
Multimediální systémy 03 Počítačová 2d grafika Michal Kačmařík Institut geoinformatiky, VŠB-TUO Osnova přednášky Rastrová počítačová grafika Metody komprese obrazu Rastrové formáty Vektorová grafika Křivky
Více0.1 Úvod do lineární algebry
Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Vektory Definice 011 Vektorem aritmetického prostorur n budeme rozumět uspořádanou n-tici reálných čísel x 1, x 2,, x n Definice 012 Definice sčítání
VíceVypracoval: Mgr. Lukáš Bičík TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY
Vlastnosti funkcí Vypracoval: Mgr. Lukáš Bičík TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY Definiční obor Definiční obor funkce je množina všech čísel,
VíceINTEGRÁLY S PARAMETREM
INTEGRÁLY S PARAMETREM b a V kapitole o integraci funkcí více proměnných byla potřeba funkce g(x) = f(x, y) dy proměnné x. Spojitost funkce g(x) = b a f(x, y) dy proměnné x znamená vlastně prohození limity
VíceMKI Funkce f(z) má singularitu v bodě 0. a) Stanovte oblast, ve které konverguje hlavní část Laurentova rozvoje funkce f(z) v bodě 0.
MKI -00 Funkce f(z) má singularitu v bodě 0. a) Stanovte oblast, ve které konverguje hlavní část Laurentova rozvoje funkce f(z) v bodě 0. V jakém rozmezí se může pohybovat poloměr konvergence regulární
VíceMaturitní témata profilová část
Seznam témat Výroková logika, úsudky a operace s množinami Základní pojmy výrokové logiky, logické spojky a kvantifikátory, složené výroky (konjunkce, disjunkce, implikace, ekvivalence), pravdivostní tabulky,
VíceFOURIEROVA TRANSFORMACE
FOURIEROVA TRANSFORMACE FOURIEROVA VĚTA V kapitole o Fourierových řadách byla dokázána (připomeňte si, že f(x) = (f(x + ) + f(x ))/2): VĚTA. Necht f je po částech hladká na R a R f konverguje. Potom f(x)
Více0.1 Úvod do matematické analýzy
Matematika I (KMI/PMATE) 1 0.1 Úvod do matematické analýzy 0.1.1 Pojem funkce Veličina - pojem, který popisuje kvantitativní (číselné) vlastnosti reálných i abstraktních objektů. Příklady veličin: hmotnost
VíceBáze a dimenze vektorových prostorů
Báze a dimenze vektorových prostorů Buď (V, +, ) vektorový prostor nad tělesem (T, +, ). Nechť u 1, u 2,..., u n je konečná posloupnost vektorů z V. Existují-li prvky s 1, s 2,..., s n T, z nichž alespoň
Více2. Schurova věta. Petr Tichý. 3. října 2012
2. Schurova věta Petr Tichý 3. října 2012 1 Podobnostní transformace a výpočet vlastních čísel Obecný princip: Úloha: Řešíme-li matematickou úlohu, je často velmi vhodné hledat její ekvivalentní formulaci
VíceMatematický ústav UK Matematicko-fyzikální fakulta
Geometrické modelování Zbyněk Šír Matematický ústav UK Matematicko-fyzikální fakulta 5. října 2016 Zbyněk Šír (MÚ UK) - Geometrické modelování 5. října 2016 1 / 14 Obsah dnešní přednášky Co je to geometrické
VíceJe založen na pojmu derivace funkce a její užití. Z předchozího studia je třeba si zopakovat a orientovat se v pojmech: funkce, D(f), g 2 : y =
0.1 Diferenciální počet Je částí infinitezimálního počtu, což je souhrnný název pro diferenciální a integrální počet. Je založen na pojmu derivace funkce a její užití. Z předchozího studia je třeba si
Více7B. Výpočet limit L Hospitalovo pravidlo
7B. Výpočet it L Hospitalovo pravidlo V prai často potřebujeme určit itu výrazů, které vzniknou operacemi nebo složením několika spojitých funkcí. Většinou pomohou pravidla typu ita součtu násobku, součinu,
VíceAproximační křivky. Trocha historie. geometrické modelování veliký pokrok v oblasti letectví 1944 Roy Liming
Trocha historie geometrické modelování veliký pokrok v oblasti letectví 944 Roy Liming analytik, North American Aviation (výrobce letadel) společně s konstruktérem a designérem Edgardem Schmuedem matematizace
VícePRIMITIVNÍ FUNKCE DEFINICE A MOTIVACE
PIMITIVNÍ FUNKCE V předchozích částech byly zkoumány derivace funkcí a hlavním tématem byly funkce, které derivace mají. V této kapitole se budou zkoumat funkce, které naopak jsou derivacemi jiných funkcí
VíceDefinice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s
Kapitola 13 Kvadratické formy Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru f(x 1,..., x n ) = a ij x i x j, kde koeficienty a ij T. j=i Kvadratická forma v n proměnných
Více1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy:
Opakování středoškolské matematiky Slovo úvodem: Tato pomůcka je určena zejména těm studentům presenčního i kombinovaného studia na VŠFS, kteří na středních školách neprošli dostatečnou průpravou z matematiky
VícePřednáška 11, 12. prosince Část 5: derivace funkce
Přednáška 11, 12. prosince 2014 Závěrem pasáže o spojitých funkcích zmíníme jejich podtřídu, lipschitzovské funkce, nazvané podle německého matematika Rudolfa Lipschitze (1832 1903). Fukce f : M R je lipschitzovská,
VíceMaturitní otázky z předmětu MATEMATIKA
Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu MATEMATIKA 1. Výrazy a jejich úpravy vzorce (a+b)2,(a+b)3,a2-b2,a3+b3, dělení mnohočlenů, mocniny, odmocniny, vlastnosti
VíceFunkce jedn e re aln e promˇ enn e Derivace Pˇredn aˇska ˇr ıjna 2015
Funkce jedné reálné proměnné Derivace Přednáška 2 15. října 2015 Obsah 1 Funkce 2 Limita a spojitost funkce 3 Derivace 4 Průběh funkce Informace Literatura v elektronické verzi (odkazy ze STAGu): 1 Lineární
VíceMatematika I 12a Euklidovská geometrie
Matematika I 12a Euklidovská geometrie Jan Slovák Masarykova univerzita Fakulta informatiky 3. 12. 2012 Obsah přednášky 1 Euklidovské prostory 2 Odchylky podprostorů 3 Standardní úlohy 4 Objemy Plán přednášky
Více19 Hilbertovy prostory
M. Rokyta, MFF UK: Aplikovaná matematika III kap. 19: Hilbertovy prostory 34 19 Hilbertovy prostory 19.1 Úvod, základní pojmy Poznámka (připomenutí). Necht (X,(, )) je vektorový prostor se skalárním součinem
VíceFOURIEROVA TRANSFORMACE FOURIEROVA VĚTA
FOURIEROVA TRANSFORMACE FOURIEROVA VĚTA V kapitole o Fourierových řadách byla dokázána Fourierova věta (připomeňte si, že f(x = (f(x + + f(x /2: VĚTA Necht f je po částech hladká na R a R f konverguje
Více8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice
9. Lineární diferenciální rovnice 2. řádu Cíle Diferenciální rovnice, v nichž hledaná funkce vystupuje ve druhé či vyšší derivaci, nazýváme diferenciálními rovnicemi druhého a vyššího řádu. Analogicky
Více22 Základní vlastnosti distribucí
M. Rokyta, MFF UK: Aplikovaná matematika IV kap. 22: Základní vlastnosti distribucí 5 22 Základní vlastnosti distribucí 22.1 Temperované distribuce Definice. O funkci ϕ C (R m ) řekneme, že je rychle klesající
VíceŘADY KOMPLEXNÍCH FUNKCÍ
ŘADY KOMPLEXNÍCH FUNKCÍ OBECNÉ VLASTNOSTI Řady komplexních čísel z n byly částečně probírány v kapitole o číselných řadách. Definice říká, že n=0 z n = z, jestliže z je limita částečných součtů řady z
VíceMatematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic
Přednáška třetí (a pravděpodobně i čtvrtá) aneb Úvod do lineární algebry Matice a soustavy rovnic Lineární rovnice o 2 neznámých Lineární rovnice o 2 neznámých Lineární rovnice o dvou neznámých x, y je
VíceKomplexní analýza. Fourierovy řady. Martin Bohata. Katedra matematiky FEL ČVUT v Praze
Komplexní analýza Fourierovy řady Martin Bohata Katedra matematiky FEL ČVU v Praze bohata@math.feld.cvut.cz Martin Bohata Komplexní analýza Fourierovy řady 1 / 20 Úvod Často se setkáváme s periodickými
VíceNecht L je lineární prostor nad R. Operaci : L L R nazýváme
Skalární součin axiomatická definice odvození velikosti vektorů a úhlu mezi vektory geometrická interpretace ortogonalita vlastnosti ortonormálních bázi [1] Definice skalárního součinu Necht L je lineární
VíceOtázky k ústní zkoušce, přehled témat A. Číselné řady
Otázky k ústní zkoušce, přehled témat 2003-2004 A Číselné řady Vysvětlete pojmy částečný součet řady, součet řady, řadonverguje, řada je konvergentní Formulujte nutnou podmínku konvergence řady a odvoďte
Více13 Barvy a úpravy rastrového
13 Barvy a úpravy rastrového Studijní cíl Tento blok je věnován základním metodám pro úpravu rastrového obrazu, jako je např. otočení, horizontální a vertikální překlopení. Dále budo vysvětleny různé metody
Více