VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYLEPŠENÍ FORMÁTU JPEG IMPROVEMENTS OF JPEG FORMAT
|
|
- Sabina Šimková
- před 6 lety
- Počet zobrazení:
Transkript
1 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND MULTIMEDIA VYLEPŠENÍ FORMÁTU JPEG IMPROVEMENTS OF JPEG FORMAT BAKALÁŘSKÁ PRÁCE BACHELOR S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR RADEK LIŠKA ING. DAVID BAŘINA BRNO 2011
2 Abstrakt Tato práce se zabývá algoritmy ztrátové komprese statického obrazu používanými standardem JPEG. Jsou zde podrobně představeny jednotlivé kroky komprese podle tohoto standardu. Mým cílem je představení a implementace vylepšení, která by vedla ke zvýšení kompresního poměru při zachování struktury standardu. Tato implementace je v závěru práce srovnána se standardní implementací a jsou navržena další možná vylepšení. Abstract This thesis deals with lossy still image compression algorithms used in JPEG standard. All compression steps according to this standard are described in detail. My objective is to introduce and implement improvements that would result in increased compression ratio while adhering to the structure of the standard. At the end of the thesis, the implementation is compared to standard implementation and additional possible improvements are proposed. Klíčová slova Ztrátová komprese obrazu, JPEG, JPEG-Plus, DCT, linearizace, Mortonův průchod, pyramidový průchod, entropické kódování, Recursive Range Reduction, Golomb-Riceovy kódy, Fibonacciho kódy Keywords Lossy image compression, JPEG, JPEG-Plus, DCT, linearization, Morton scan, pyramid scan, entropy coding, Recursive Range Reduction, Golomb-Rice codes, Fibonacci codes Citace Radek Liška: Vylepšení formátu JPEG, bakalářská práce, Brno, FIT VUT v Brně, 2011
3 Vylepšení formátu JPEG Prohlášení Prohlašuji, že jsem tuto bakalářskou práci vypracoval samostatně pod vedením Ing. Davida Bařiny. Uvedl jsem všechny literární prameny a publikace, ze kterých jsem čerpal. Radek Liška 16. května 2011 Poděkování Chtěl bych poděkovat svému vedoucímu Ing. Davidu Bařinovi, který mi poskytl odbornou pomoc při vypracovávání této práce a při četných konzultacích mě vždy správně směroval. Radek Liška, Tato práce vznikla jako školní dílo na Vysokém učení technickém v Brně, Fakultě informačních technologií. Práce je chráněna autorským zákonem a její užití bez udělení oprávnění autorem je nezákonné, s výjimkou zákonem definovaných případů. 3
4 Obsah Obsah Úvod Průběh komprese JPEG Transformace barevného prostoru DCT Kvantizace Linearizace Entropický kodér Huffmanův kodér Aritmetický kodér Vylepšení linearizačních průchodů a velikosti bloku Mortonův průchod Pyramidový průchod Vylepšení kodéru Recursive Range Reduction Golomb-Riceovy kódy Fibonacciho kódy Implementace a srovnání Srovnání času komprese obou velikostí bloků Srovnání linearizačních průchodů Srovnání entropických kodérů Vliv jednotlivých obrázků na souhrnných hodnotách Srovnání kombinací vylepšení... 6 Závěr Přínos Další vývoj Seznam zkratek Literatura... Seznam příloh Příloha 1. Manuál programu Příloha 2. Testovací obrázky Příloha 3. CD
5 1 Úvod I v dnešní moderní době, kdy jsou cenově běžně dostupné disky s kapacitou v řádech terabajtů, internetová připojení s rychlostí v řádech megabitů, a kdy se výkon procesorů posuzuje nejen podle taktu, ale i podle počtu jader, je stále v počítačovém světě využíváno komprese a to zvláště v oblasti multimédií. Ať už se budeme chtít dívat na film, poslouchat hudbu či brouzdat po internetu, všude narazíme na komprimovaná data. Zvláště při prohlížení rastrových obrázků na internetu se už jen vzácně setkáme se souborem v nekomprimovaném formátu. Tato práce se zabývá prozkoumáním jednoho z nejrozšířenějších algoritmů ztrátové komprese obrazu, který je definovaný ve standardu JPEG, a popsáním existujících metod, které by mohly vést ke zvýšení jeho účinnosti. Tyto metody jsou ve druhé části práce naimplementovány a je zkoumán jejich účinek ve srovnání s metodami používanými ve standardu. Ve druhé kapitole jsou rozebrány jednotlivé části komprese obrazu dle standardu JPEG. Je zde popsána transformace barevného prostoru z RGB do Y C b C r, zpracování jednotlivých bloků obrazu pomocí diskrétní kosinové transformace, kvantizace takto transformovaných dat za pomoci kvantizačních tabulek, jejich linearizace do jednorozměrného proudu a podrobný popis postupů kódování těchto proudů na výstup. Ve třetí kapitole je popsána první část navrhovaných vylepšení navýšení velikosti bloku a přidání dalších linearizačních průchodů a ve čtvrté kapitole jsou popsány nově navrhované entropické kodéry. V následující kapitole se nachází srovnání časové náročnosti komprese různých velikostí bloků, poté jsou srovnány jednotlivé oblasti vylepšení a nakonec je srovnáno kompletní řešení. V poslední kapitole je zhodnocen přínos práce, zmíněny další provedené experimenty a načrtnut další směr vývoje programu. 2
6 2 Průběh komprese JPEG Ztrátová komprese obrazu dle standardu JPEG [8][10][12] sestává z pěti pevně daných kroků. Zpracovávaný obraz je z důvodu snížení výpočetní náročnosti rozdělen na bloky o velikosti 8 8 a je provedena transformace barevného prostoru z RGB na Y C b C r. Na každý blok je aplikována diskrétní kosinová transformace, výsledné bloky frekvenčních koeficientů jsou poté kvantizovány kvantizačními tabulkami pro zlepšení možností jejich zakódování, linearizovány linearizačním průchodem a nakonec entropickým kodérem zakódovány na výstup. Při dekódování je proces opačný, na ztrátách na kvalitě a vznikajících artefaktech se nejvíce podílí kvantizace během kompresního kroku, jelikož zaokrouhlením dochází k nereverzibilní ztrátě informací. Kvantizace ale zároveň nejvíce zvyšuje kompresi vstupního obrazu. Obrázek Kvantizační tabulky JPEG obrázek Rozdělení na bloky a transformace barevného prostoru Y C b C r DCT Kvantizace Linearizace Kódování Linearizační průchod Entropický kodér Obrázek 2.1: Schéma kodéru dle standardu JPEG 2.1 Transformace barevného prostoru Velké množství digitálních obrazových dat určených k zobrazení na displeji je uloženo v barevném modelu RGB. RGB reprezentuje obrazový bod pomocí úrovně červené, zelené a modré složky (z anglických názvů těchto barev Red, Green, Blue pochází i jeho zkratka). V každé komponentě se nachází podobné množství informace. Pro ztrátové kódování obrazu jsou ale vhodnější jiné modely, protože v RGB se ve všech třech komponentách projevuje jas, na který je lidský zrak nejvíce citlivý. V barevném modelu Y C b C r (někdy zapisováno jako Y C B C R ) se všechny tři složky na výsledném vzhledu obrazového bodu, jak jej vnímá lidské oko, nepodílejí stejně, ač jde jen o odlišné kódování shodných RGB informací. Složka Y je jasová (jinak také luma), zatímco C b a C r složky jsou barvonosné (chroma), na tyto je zrak citlivý méně než na jasovou složku. Proto je možné z barvonosných složek použít menší datový objem při zachování nebo menším snížení výsledné 3
7 vnímané kvality obrazu než při obdobné ztrátě informací v jasové složce. V JPEG standardu jsou určeny rovnice na převod mezi barevným modelem RGB a Y C b C r : Y = 0,290 R + 0,58700 G + 0,110 B C b = R G B (1) C r = R G B Počítá se s 8bitovou hloubkou jedné barevné komponenty, tzn. vstupní hodnoty RGB i výstupní hodnoty Y CbCr jsou v rozsahu 0 5. Rovnice pro zpětný převod z Y CbCr do RGB: R = Y (C r 128) G = Y (C b 128) (C r 128) (2) B = Y (C b 128) Zvláště při vyšších kompresních poměrech se často využívá podvzorkování (subsampling) chromy, kdy se sníží rozlišení této komponenty. Nejběžnější podvzorkování jsou o velikosti vzorku 2 1 (snížení horizontálního rozlišení na polovinu), 1 2 (snížení vertikálního rozlišení na polovinu) a 2 2 (snížení obou rozměrů komponenty na polovinu). Vliv podvzorkování na barevnou informaci ilustrují obrázky 2.2.a až 2.2.d [7]: Obrázek 2.2.a: Vzorek 1 1 (bez podvzorkování) Obrázek 2.2.b: Vzorek 2 1 Obrázek 2.2.c: Vzorek 1 2 Obrázek 2.2.d: Vzorek 2 2 Na obrázku 2.3.a se nachází rozdělení RGB obrázku na jednotlivé komponenty - červenou, zelenou a modrou, na obrázku 2.3.b je rozdělení Y C b C r obrázku na lumu a dvě chromy. Na první 4
8 pohled je vidět, že lidským okem snáz vnímaný jas se v modelu RGB projevuje ve všech třech složkách, zatímco v modelu Y C b C r je koncentrován v lumě. Obrázek 2.2.a: komponenty obrazu v RGB Obrázek 2.2.b: komponenty obrazu v Y C b C r 2.2 DCT DCT (diskrétní kosinová transformace) [2] převádí signál z prostorové (dvourozměrná matice pixelů) do frekvenční domény (dvourozměrná matice frekvencí a jejich energií). Nejčastěji používaná DCT- II (1), běžně zvaná jen DCT, je tvořená následující rovnicí: 5
9 X k N 1 n 0 x n 1 cos n k 2 N k 0,, N 1 (3) Inverzní transformace k DCT-II je DCT-III (2) násobená 2/N ( IDCT ). Samotná DCT-III: X k N x x cos 0,, n k 1 2 k N n n N (4) Na bloku se provádí dvourozměrná DCT, která se provede pomocí aplikace série jednorozměrných DCT na řádky a poté na sloupce. DCT koncentruje nejvíce energie na nízkých frekvencích obrazu, zejména v prvním elementu tvořícím DC koeficient. Zkratka DC znamená Direct Current - stejnosměrný proud - frekvence tohoto koeficientu je vždy nulová, jeho hodnota je rovna průměru hodnot celého bloku. Ostatní elementy jsou AC koeficienty (Alternating Current = střídavý proud). Vysoké frekvence obsahují informace o hranách (ostrých barevných přechodech). Čím vyšší index v horizontálním, resp. vertikálním směru, tím vetší jsou horizontální, resp. vertikální frekvence, jejichž koeficienty jsou na daném indexu uloženy. Ukázka DCT aplikovaného na jeden blok dat je n obrázku 2.3. Při vynulování frekvencí AC koeficientu a využití pouze hodnoty DC koeficientu vznikne obrázek, který bude vypadat jako stylizace původního obrázku do jednobarevných 8 8 dlaždic DCT Kvantizace Obrázek 2.3: Hodnoty zpracovávaného bloku před a po DCT DCT je v podstatě bezztrátová transformace, případné ztrátě informací se dá vyhnout zvýšením přesnosti reprezentace čísel. Pokles kvality ve ztrátové kompresi obrazu způsobuje kvantizace. Kvantizace probíhá tak, že se matice frekvenčních koeficientů vzniklých při DCT vydělí pomocí kvantizační tabulky. Pro každou obrazovou složku existuje zvláštní tabulka, obvykle jedna pro jasovou složku a jedna pro barvonosné složky. Koeficienty kvantizační tabulky jsou zpravidla přímo úměrné velikosti frekvence na dané pozici, tedy zvyšují se podél hlavní diagonály. Existují ale i výjimky, např. tabulky upravené pro lidský zrak (HVS - Human Visual System) [6], které mají definovanou váhu jednotlivých kvantizačních koeficientů tak, aby pro lidské vnímání vznikl rozdíl nižší, než který se projeví na. V příkladu tabulek uvedených v JPEG standardu lze vidět důraz na snížení objemu informace v barvonosných složkách a ve vyšších frekvencích všech tří barevných složek. Hodnoty koeficientů kvantizačních tabulek je možné škálovat pomocí uživatelského nastavení kvality. Toto nastavení je přítomné ve všech rozšířených obrazových editorech podporujících formát JPEG a je pro uživatele zpravidla jediný způsob, jak ovlivnit kvalitu 6
10 a datovou velikost výsledného obrazu. Standardní tabulky i HVS tabulky jsou předmětem experimentů této práce. Vliv kvantizace na snížení objemu dat je patrný z obrázku Q Linearizace Obrázek 2.4: Hodnoty zpracovávaného bloku před a po kvantizaci Blok transformovaný pomocí DCT po kvantizaci stále tvoří dvourozměrnou matici koeficientů. Jelikož většina kompresních algoritmů byla vytvořena pro zpracování jednorozměrného proudu dat a ve vícerozměrných proudech dat žádné spojitosti detekovat nedokáže, je třeba data nejprve převést do jednorozměrné podoby, než budou zakódována. V kvantizovaném bloku jsou nejvyšší hodnoty v DC koeficientu a jeho nejbližším okolí a poté podél hlavní diagonály klesají a v oblasti vysokých frekvencí se již většinou nachází jen sekvence nul. Načítáním koeficientů po řádcích by se posloupnosti nul přerušovaly, jak by se přecházelo mezi oblastmi s nízkými a s vysokými frekvencemi, proto je potřeba použít sofistikovanější algoritmus, aby posloupnosti zůstaly zachovány. Tento úkol v JPEG standardu plní prvek linearizace. Ve standardu se využívá cik-cak průchod (na obrázku 2.5). Cik-cak průchod začíná v matici v DC koeficientu a postupně prochází po hlavní diagonále a čte po řádcích kolmo na ni. Tím zůstává zachována posloupnost frekvencí a zpravidla i sekvencí nul. DC AC 01 AC 07 AC 70 AC 77 Obrázek 2.5: Schéma cik-cak průchodu 7
11 2.5 Entropický kodér Výsledný proud linearizovaných obrazových dat je třeba nějakým způsobem zakódovat do souboru. V JPEG standardu se využívá Huffmanův kodér [5] pro jeho nízkou hardwarovou náročnost a dobrou účinnost. Další možností popisovanou v JPEG standardu je aritmetický kodér, ale šíření jeho implementace v tomto obrazovém formátu bylo omezeno kvůli patentovému zatížení technik aritmetického kódování. Aritmetický kodér poskytuje zlepšení kompresního poměru o 5 až 10 % ve srovnání s Huffmanovým kodérem, navýšení kompresního a dekompresního času je ale výraznější, zvláště na starším hardwaru, a tvoří další důvod problematického prosazování aritmeticky kódovaných obrázků Huffmanův kodér Huffmanův kodér má definovaný způsob kódování obou druhů koeficientů. DC koeficienty se kódují odděleně od AC koeficientů. Sousední DC koeficienty v blocích spolu výrazně korelují, proto se DPCM kódováním (Delta Pulse Code Modulation, také známé jako rozdílové kódování) snižuje hodnota, kterou je třeba zakódovat na výstup. DPCM kódování se provádí tak, že se od aktuální hodnoty DC koeficientu a barevné komponenty odečítá hodnota DC koeficientu stejné barevné komponenty z předchozího bloku. Jelikož jejich hodnoty bývají v mnoha případech podobné, zakódovat jejich rozdíl je výhodnější než kompletní hodnotu. Bloky se zpracovávají po řádcích zleva doprava shora dolů, první DC koeficient na novém řádku má implicitního předchůdce hodnoty 0. Na výstup se nejprve ukládá Huffmanovým kódováním zakódovaná diferenční kategorie, poté hodnota DC koeficientu. Diferenční kategorie říká, na kolika bitech bude uložená jeho hodnota. AC koeficienty se před zakódováním zpracovávají variantou RLE kódování (Run-Length Encoding), jehož každý kód tvoří dvě složky. První složka reprezentuje počet za sebou následujících AC nul v linearizovaném proudu (Run běh), druhá složka reprezentuje diferenční kategorii (Size - velikost) prvního nenulového AC koeficientu a pokud je Size větší než 0 za kódem následuje samotná hodnota AC koeficientu. Každá ze složek je na 4 bitech, dohromady každé kódové slovo tvoří jeden bajt. Existují dvě speciální hodnoty kódu, jedna je Run=15, Size=0 a nazývá se ZRL, druhá je Run=0, Size=0 a nazývá se EOB. ZRL znamená Zero Run-Length a označuje běh 16 nul. EOB znamená End Of Block a značí konec bloku. EOB signalizuje, že všechny zbývající AC koeficienty jsou nulové a dekodér je tedy dokáže při dekompresi do bloku doplnit, aniž by potřeboval další data uložená v souboru. Tímto lze dosáhnout velmi výrazného zvýšení účinnosti kódování. Příklad pro závěr sekvence AC koeficientů o hodnotách 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0: (6,1)[1](0,2)[11](3,0)(0,0). V kulatých závorkách jsou RLE kódy pro sekvence nul, zatímco v hranatých závorkách jsou přímo bitové reprezentace zakódovaných čísel. Jelikož v každé diferenční kategorii jsou z kladných čísel jen ta, která k reprezentaci přímo potřebují stejný počet bitů, tedy nejvýznamnější bit nastavený na jedničku, je možné druhou polovinu binárních řetězců použít pro zakódování záporných čísel. Záporná čísla lze zakódovat jako kladná a poté všechny bity obrátit ( b = 11110, - b = 00001). Jádro Huffmanova kódování probíhá tak, že se symboly vytvořené pomocí RLE kódování v prvním průchodu seřadí podle četnosti jejich výskytu a nad nimi se sestaví binární strom. Dva kódy, uzly stromu, či jejich kombinace s nejnižším součtem četností vytváří nový uzel stromu, který má četnost výskytu rovnou součtu jejich. Jakmile jsou všechny počáteční hodnoty zpracovány, ve druhém průchodu se všem symbolům přiřazují kódová slova dle cesty vedoucí k nim ve stromě 8
12 (např. volba levé větve stromu odpovídá bitové 0 a volba pravé bitové 1 ). Platí tedy, že čím častěji se daný symbol vyskytuje, tím je jeho kód kratší. Doporučené Huffmanovy kódy pro jednotlivé možné hodnoty jsou uvedeny ve standardu Aritmetický kodér Princip aritmetického kodéru tkví ve snaze reprezentovat vstupní řetězec symbolů jako binární reprezentaci číselného zlomku z intervalu <0; 1). Pokud máme abecedu o třech znacích a, b, c a pravděpodobnosti jejich výskytu jsou po řadě 0,5, 0, a 0,, jsou intervaly pro zápis jednoho jejich výskytu po řadě <0; 0,5), <0,5; 0,75), <0,75; 1). Při kódování výskytu symbolu se celkový interval rekurzivně vnořuje do intervalu právě zakódovaného symbolu. Tedy při kódování zprávy ab se po zakódování a zpřesňuje celkový interval na <0; 0,5) a intervaly jednotlivých symbolů na <0; 0,), <0,; 0,375), resp. <0,375; 0,5). 2 znaky dlouhou zprávu ab lze tedy zakódovat jako číslo 0,. Ve standardu JPEG se používá adaptivní binární aritmetický kodér binární znamená, že jím zpracovávaná abeceda obsahuje dva symboly. Nezpracovává tedy vstup jako posloupnost bajtů, jak je časté u jiných entropických kodérů, ale jako řadu bitových jedniček a nul. Adaptivní znamená, že nemá pevně nastavené konstantní pravděpodobnosti výskytu symbolů jako například u Huffmanova kodéru tím, že by se před zakódováním dat nejprve v předcházejícím průchodu zjistila frekvence výskytů jednotlivých symbolů. V adaptivním binárním aritmetickém kodéru dle standardu JPEG je používán stavový automat o 113 stavech ve formě tabulky pravděpodobností výskytu binárních symbolů; mezi těmito stavy kodér plynule přechází po každém zakódovaném symbolu. Vzhledem k tomu, že k optimálnějšímu kódování se v některých stavech vyměňují hodnoty pravděpodobnosti mezi symboly, nenazývají se kódované symboly 0 a 1, ale MPS (More Probable Symbol pravděpodobnější symbol) a LPS (Less Probable Symbol méně pravděpodobný symbol). Ve standardu se používá jedna proměnná pro uložení pravděpodobnostního intervalu a druhá jako buffer pro výstupní data. Jelikož intervaly jsou v paměti počítače reprezentované datovým typem omezené délky, dochází při aritmetickém kódování i dekódování po určitém počtu kroků k renormalizaci pokud proměnná s uloženým intervalem dosáhne kritické hodnoty, vypíšou se data uložená v bufferu a hodnota obou proměnných se upraví na vhodnější hodnoty, tímto je možné generovat binární zlomek s teoreticky neomezenou přesností. Aritmetický kodér zpravidla dosahuje vyšší účinnosti komprese než Huffmanův kodér díky tomu, že jeden symbol nemusí reprezentovat na celém počtu bitů. Tato výhoda je kompenzována vyšší hardwarovou náročností. V testovací aplikaci aritmetický kodér není naimplementován. 9
13 3 Vylepšení linearizačních průchodů a velikosti bloku S dnešním výkonnějším hardwarem lze pro zvýšení účinnosti použít bloky namísto současně používaných 8 8. S blokem může vzrůst počet a délka posloupností nulových koeficientů, které díky vhodně zvolenému linearizačnímu průchodu dokáže entropický kodér úsporně zakódovat. Ve standardu JPEG je použit pouze průchod cik-cak, žádné další průchody ve standardu nejsou definovány. Cik-cak průchod i všechny linearizační průchody navrhované v této práci lze použít pro libovolnou velikost bloku, která odpovídá mocnině dvou. 3.1 Mortonův průchod Mortonův průchod [11][15] (na obrázku 2.4) se již ve ztrátové kompresi obrazu používá v kompresních technikách využívajících vlnkové transformace. Jeho tvar se podobá písmenu Z a je rekurzivní povahy. DC AC 01 AC 07 AC 70 AC 77 Obrázek 3.1: Schéma Mortonova průchodu 10
14 3.2 Pyramidový průchod Pyramidový průchod (na obrázku 2.5) je představen v návrhu JPEG-Plus [13]. Návrh jej předkládá jako způsob, jak progresivně kódovat různá rozlišení obrazu hierarchickým postupem. DC AC 01 AC 07 AC 70 AC 77 Obrázek 3.2: Schéma pyramidového průchodu 11
15 4 Vylepšení kodéru JPEG standard zahrnuje dva entropické kodéry, Huffmanův kodér a aritmetický kodér. Tato práce zpracovává další tři ne zcela známou metodu 3R a dvě metody generující kódy s proměnlivou délkou Golomb-Riceovo kódování a Fibonacciho kódování. 4.1 Recursive Range Reduction Recursive Range Reduction (3R, také RRR) [4][12] je ve světě komprese poměrně neobvyklou metodou. Zatímco drtivá většina statistických kompresních algoritmů potřebuje značné množství vstupních dat k tomu, aby mohl kompresní model dosáhnout optimálního výkonu, kompresní poměr 3R je nezávislý na objemu vstupních dat. Základem je algoritmus RR (Range Reduction), který na vstupu přijímá seznam celých kladných čísel seřazený podle velikosti od největšího. Na takto neseřazená vstupní data je pak rekurzivně aplikován algoritmus 3R. RR probíhá následovně: jako první se do výstupního proudu zakóduje hlavička, ve které je zapsána délka L bitové reprezentace L prvního (největšího) prvku. Zapsaná hodnota L bude o 1 nižší, protože libovolný počáteční prvek je reprezentovatelný vždy alespoň na jednom bitu. Hlavička má nastavenou pevnou velikost a dále se už její reprezentace nijak nekóduje. Za hlavičkou následující první hodnota seznamu se zakóduje na L-1 bitů bez předcházejících bitových nul a bez první bitové jedničky, která je implicitně předpokládána. Další číslo je zakódováno na L bitech, aby jej mohl dekodér jednoznačně rozpoznat. Pokud měla binární reprezentace čísla na nejvýznamnějších pozicích bitové nuly, bude o tento počet kratší následující zapsané číslo. Jelikož je seznam seřazený podle velikosti, je jisté, že jeho další prvek bude nižší, tzn. jeho binární reprezentace bude mít přinejmenším stejný počet předcházejících bitových nul. Příklad: Pro zpracování RR máme dána čísla 179,, 62,, 2, 1. Algoritmus bude na výstup zapisovat následující data (uvažujme kódovanou velikost hlavičky 4 bity, aby pojala 16bitové hodnoty): (7) - první hodnota má 8 bitů (tedy L = 8) (179) - zapíšeme jen 7 bitů, víme, že MSB je 1 a tak jej můžeme vynechat () - musíme zapsat L bitů, aby dekodér mohl rozpoznat číslo na vstupu (62) - minulé číslo mělo 1 společnou předcházející nulu, můžeme vynechat () - minulé číslo mělo 1 společnou předcházející nulu, můžeme vynechat (2) - minulé číslo mělo 1 společnou předcházející nulu, můžeme vynechat 01 - (1) - minulé číslo mělo 3 společné předcházející nuly, můžeme vynechat Pokud budeme každý prvek výše uvedeného seznamu považovat za 8bitový, měla původní data délku 48 bitů. Po zpracování RR má výsledek 39 bitů. Jediná informace ukládaná mimo čísel je hlavička určující velikost prvního z nich, jelikož počet čísel, která budou zpracovávána, je předem znám. V případě, že nemáme k dispozici předem seřazený seznam, použijeme rekurzivní variantu RR, ve které můžeme použít libovolnou posloupnost celých kladných čísel. Z čísel se vytvoří binární strom, ve kterém je kořenový uzel tvořen součtem všech těchto čísel, a listy jsou tvořeny jednotlivými čísly. Pomocí RR se zakódují průchody od kořene ke každému listu a kód každého mezikroku se 12
16 uloží do jeho uzlu. Potom stačí na výstup rekurzivně zakódovat jen polovinu celého stromu (kořen a buď jen pravé větve a listy nebo levé), zbytek hodnot se dá při dekódování dopočítat z těchto čísel. Příklad: Pro zpracování pomocí 3R máme dána čísla, 179, 62,. Vytvoříme z nich perfektně vyvážený binární strom (viz obrázek 4.1) a pro každou větev vygenerujeme pomocí RR kódy. Poté stromem rekurzivně procházíme a na výstup posíláme kódy všech levých větví a listů. A + B + C + D 1 A + B C + D A B 179 C 62 D Obrázek 4.1: Strom 3R koeficientů se zvýrazněnými zakódovanými hodnotami 4.2 Golomb-Riceovy kódy Golomb-Riceovo kódování [10][12] je kombinace dvou různých kódování Golombova a Riceova. Obě používají prefixový kód a jeden volitelný parametr, ve kterém se liší. Golombovo kódování používá parametr M = n (n N) a Riceovo kódování používá parametr M = n 2 (n N). Golomb- Riceovo kódování je nejvíce vhodné pro abecedy s geometrickým rozložením, tedy takovým, kde má několik nízkých čísel výrazně vyšší zastoupení než ostatní vyšší čísla, pro taková je jím tvořený prefixový kód optimální. Pro parametr M a kladné vstupní číslo N bude postup následující: - číslo bude zapsáno v kódovém slově o dvou částech kvocientu a zbytku - kvocient q se vypočítá jako N M - zbytek r se vypočítá jako N mod M - první část kódového slova je tvořena q bitovými jedničkami a 1 bitovou nulou (unární kódování) - u druhé části kódového slova záleží, jestli je parametr M mocnina dvou (b = log2(m) ) o pokud ano: r se uloží beze změn na b bitech o pokud ne: pokud r < 2 b M, pak se r uloží na b 1 bitech pokud r 2 b M, pak se r uloží jako r + 2 b M na b bitech Příklad: Pro zakódování do Golomb-Riceova kódu o parametru M = 5 přichází číslo 13: - q = 13 5 = 2; do první části kódového slova zakódujeme 2 bitové jedničky a jednu nulu. - r = 13 mod 5 = 3; parametr M = 5 není mocnina dvou. - b = log2(5) = 3; r 2 b M, do druhé části kódového slova zakódujeme 6 (r + 2 b M) na 3 bitech. Výsledné kódové slovo pro vstupní hodnotu 13 je
17 4.3 Fibonacciho kódy Fibonacciho kód [12] kladného celého čísla je jeho Fibonacciho reprezentace s jedničkou připojenou na konec. Například Fibonacciho kód pro 5 je a pro 33 je Použije se Fibonacciho posloupnost, jen redukovaná o první dva členy (0 a 1), tedy: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 84, 4181, 6765, 10946, 17711, Algoritmus kódování: V posloupnosti se najde nejvyšší možné číslo, po jehož odečtení od kódovaného čísla vyjde nezáporný výsledek. Výsledek se zakóduje na tolika bitech, na které pozici bylo toto číslo nalezeno. Poté se posloupností prochází zpět k začátku. Za každé číslo, které ještě lze odečíst, se předpojí bitová jednička, za každé číslo, které od mezivýsledku nelze odečíst, se předpojí bitová nula. Příklad pro číslo 7: od čísla 7 lze odečíst nejvýše číslo 5, které se v posloupnosti nachází na pozici 4, proto jeho kód bude uložen na 4 bitech. Odečte se číslo 5, mezivýsledek je 2, v bitovém řetězci je 1. Další číslo v posloupnosti je 3, mezivýsledek je 2, nelze odečíst, v bitovém řetězci je 01. Další číslo v posloupnosti je 2, mezivýsledek je 2, lze odečíst, v bitovém řetězci je 101. Další číslo v posloupnosti je 1, mezivýsledek je 1, nelze odečíst, v bitovém řetězci je Nakonec se k číslu připojí bitová jednička, aby jej mohl kodér jednoznačně rozeznat. Výsledný kód pro 7 je tedy Algoritmus dekódování: Bitový řetězec se načítá tak dlouho, dokud nebudou načteny dvě bitové jedničky po sobě. Poté se poslední bitová jednička odstraní. Pak se postupně prochází řetězcem a za každou jedničku se k výsledku přičte číslo, které je ve Fibonacciho posloupnosti na stejné pozici. Příklad pro vstupní řetězec 011: Odtrhne se jednička, řetězec je 01. Jedničky jsou na druhé a páté pozici. Přičtou se tedy hodnoty z druhé a páté pozice Fibonacciho posloupnosti 2 a 8. Zakódované číslo na vstupu je 10. Ukázka prvních několika čísel a jejich Fibonacciho kódů je v tabulce 4.1: Tabulka 4.1: Ukázka Fibonacciho kódů prvních 12 čísel 14
18 čas komprese *s+ 5 Implementace a srovnání V jazyce C++ byl vytvořen program IBP implementující navrhovaná vylepšení standardu. Program je kompilovatelný pomocí frameworku GCC na platformách Windows a *nix. Zdrojové kódy jsou přiloženy na CD. Pro provedení testů byly použity standardní testovací obrázky Lenna, Baboon a obrázek papoušků ze sady bezztrátových obrazů Kodak [9]. Dále byl použit obrázek generovaný počítačem pomocí metody ray tracing [14] a snímek obrazovky operačního systému. Zpravidla je použita pouze průměrná hodnota výsledků všech pěti obrázků. Testovací obrázky jsou 24bitové. Na srovnání kvality komprimovaných obrazů byly použity metriky PSNR (Peak Signal-to-Noise Ratio špičkový odstup signálu od šumu) a SSIM (Structural Similarity strukturální podobnost). Pokud není uvedeno jinak, v následujících srovnáních je použito nastavení shodné se standardem, tj. Huffmanův kodér a linearizační průchod cik-cak. V případě zobrazení dvou grafů závislosti kvality na sleduje levý graf vývoj hodnot PSNR, zatímco v pravém jsou vyneseny hodnoty SSIM. 5.1 Srovnání času komprese obou velikostí bloků Srovnání bylo provedeno s kodérem 3R a linearizačním průchodem cik-cak. Pro srovnání byly použity standardní tabulky (u bloků velikosti lineárně roztažené). 3,5 4 2,5 3 1,5 2 0,5 1 0 Závislost času komprese na Bloky 8 8 Bloky Graf 5.1: Závislost času komprese na Jak ilustruje graf 5.1, po navýšení velikosti bloku došlo k mnohonásobnému zpomalení komprese i přesto, že se s nárůstem doby zpracování jednoho bloku zároveň snížil počet zpracovávaných bloků. 15
19 PSNR [db] PSNR [db] 5.2 Srovnání linearizačních průchodů Cik-cak Mortonův Pyramidový Cik-cak Mortonův Pyramidový Graf 5.2: Srovnání linearizačních průchodů pro bloky 8 8 a standardní kvantizační tabulky Cik-cak Mortonův Pyramidový Cik-cak Mortonův Pyramidový Graf 5.3: Srovnání linearizačních průchodů pro bloky 8 8 a HVS kvantizační tabulky 16
20 PSNR [db] PSNR [db] Cik-cak Mortonův Pyramidový Cik-cak Mortonův Pyramidový Graf 5.4: Srovnání linearizačních průchodů pro bloky a standardní kvantizační tabulky doplněné maximy Cik-cak Mortonův Pyramidový Cik-cak Mortonův Pyramidový Graf 5.5: Srovnání linearizačních průchodů pro bloky a lineárně roztažené standardní kvantizační tabulky 17
21 PSNR [db] Cik-cak Mortonův Pyramidový Cik-cak Mortonův Pyramidový Graf 5.6: Srovnání linearizačních průchodů pro bloky a lineárně roztažené HVS kvantizační tabulky Jak je možné vidět na grafech 5.2 až 5.6, libovolná volba velikosti bloků a kvantizačních tabulek se na výkonu Huffmanova kodéru projevila zanedbatelně. Cik-cak průchod je nejúčinnější, po něm následuje Mortonův průchod a pyramidový průchod je v porovnání nejslabší. Mezi jednotlivými průchody jsou však v tomto srovnání naprosto minimální rozdíly. 5.3 Srovnání entropických kodérů Jelikož nestandardní kodéry přirozeně nezahrnují specifické postupy pro kódování DC a AC koeficientů, použil jsem u Fibonacciho a Golomb-Riceova kodéru následující optimalizace: na DC koeficient je aplikována DPCM transformace a je zakódován Huffmanovým kodérem. Poté je uložen index posledního nenulového AC koeficientu a konkrétním kodérem zakódované všechny AC koeficienty až po tento index. Pro metodu 3R byla aplikována pouze DPCM transformace DC koeficientů. U které metody to bylo třeba, byla záporná čísla převedena na kladná (kladná čísla vratně namapována na sudá čísla, záporná na lichá). Huffmanův kodér je naimplementován dle JPEG standardu, Golomb-Riceův kodér, Recursive Range Reduction a Fibonacciho kodér jsou navrhovaná vylepšení. Každé srovnání obsahuje dvojici grafů sledujících kvalitativní metriky. Levý graf sleduje PSNR a pravý graf SSIM. Následující srovnání jsou provedena s použitím standardního cik-cak průchodu. 18
22 PSNR [db] PSNR [db] Huffman 3R Huffman 3R Fibonacci Golomb-Rice Fibonacci Golomb-Rice Graf 5.7: Srovnání entropických kodérů pro bloky 8 8 a standardní kvantizační tabulky Vzhledem ke zřetelně nízké účinnosti Golomb-Riceova kodéru v tomto i ostatních testovaných případech byl tento z dalšího srovnávání entropických kodérů vynechán Graf 5.8: Srovnání entropických kodérů pro bloky 8 8 a HVS kvantizační tabulky 19
23 PSNR [db] PSNR [db] Graf 5.9: Srovnání entropických kodérů pro bloky a standardní kvantizační tabulky doplněné maximy Graf 5.10: Srovnání entropických kodérů pro bloky a lineárně roztažené standardní kvantizační tabulky 20
24 PSNR [db] Graf 5.11: Srovnání entropických kodérů pro bloky a lineárně roztažené HVS kvantizační tabulky Vliv jednotlivých obrázků na souhrnných hodnotách V tomto srovnání jsou uvedeny výsledky entropických kodérů pro bloky 8 8 a HVS kvantizační tabulky, tentokrát pro každý obrázek samostatně. Ač je u každého z měření vidět odlišný trend, průměr měření pěti obrázků přináší poměrně vyrovnané výsledky. Můžeme pozorovat, že v obrázcích baboon a ReactOS metoda 3R překonává Huffmanovo kódování na vysokých datových tocích, ač se to nedá tak jednoznačně říct o průměrných hodnotách z celé testovací sady. Metoda 3R také překonává Huffmanovo kódování na nejnižších datových tocích. 21
25 PSNR [db] PSNR [db] (Lenna) (Lenna) Graf 5.12: Srovnání entropických kodérů na obrázku Lenna pro bloky 8 8 a HVS kvantizační tabulky (baboon) (baboon) Graf 5.13: Srovnání entropických kodérů na obrázku baboon pro bloky 8 8 a HVS kvantizační tabulky 22
26 PSNR [db] PSNR [db] (parrots) (parrots) Graf 5.14: Srovnání entropických kodérů na obrázku parrots pro bloky 8 8 a HVS kvantizační tabulky (glasses) (glasses) Graf 5.15: Srovnání entropických kodérů na obrázku glasses pro bloky 8 8 a HVS kvantizační tabulky 23
27 PSNR [db] PSNR [db] (ReactOS) (ReactOS) Graf 5.16: Srovnání entropických kodérů na obrázku ReactOS pro bloky 8 8 a HVS kvantizační tabulky Graf 5.17: Srovnání entropických kodérů pro bloky 8 8 a HVS kvantizační tabulky 24
28 PSNR [db] PSNR [db] 5.4 Srovnání kombinací vylepšení Cik-cak Mortonův Pyramidový Cik-cak Mortonův Pyramidový Graf 5.18: Srovnání vlivu linearizačních průchodů na Fibonacciho kodér pro bloky a lineárně roztažené HVS kvantizační tabulky Cik-cak Mortonův Pyramidový Cik-cak Mortonův Pyramidový Graf 5.19: Srovnání vlivu linearizačních průchodů na kodér 3R pro bloky a lineárně roztažené HVS kvantizační tabulky Grafy 5.18 a 5.19 dokazují, že volba pyramidového průchodu má negativní na všechny kodéry. Výkon 3R (viz grafu 5.19) zůstává téměř nezměněný stejně jako výkon Huffmanova kodéru.
29 PSNR [db] vybrané kombinace parametrů 105 vybrané kombinace parametrů , std., Huffman 8 8, std., Huffman 8 8, std. 3R 8 8, std. 3R 16 16, std., 3R 16 16, std., 3R 16 16, HVS, 3R 16 16, HVS, 3R Graf 5.20: Srovnání vybraných nastavení velikostí bloku, kodéru a kvantizačních tabulek Na grafu 5.20 lze vidět, že použitím vylepšených kvantizačních tabulek, vyšší velikosti bloku a nestandardního algoritmu lze dosáhnout lepšího kompresního poměru než Huffmanův kodér. 26
30 6 Závěr V práci byly prozkoumány existující techniky a jejich kombinace ve ztrátové kompresi obrazu běžně neužívané, a byl zjištěn jejich vliv na účinnost komprese. Srovnání navrhovaných zlepšení ukazují, že cik-cak průchod je ze srovnávaných linearizačních průchodů nejefektivnější v přesouvání nenulových koeficientů na začátek datového proudu tak, aby se linearizovaný blok dal ukončit symbolem EOB co nejdříve a nekódovalo se více dat, než je nezbytně nutné. Navrhovaný Mortonův a pyramidový průchod jej nepřekonávají. Srovnání také ukazuje, že 3R je jediný z testovaných kodérů, který dokáže konkurovat Huffmanovu kodéru a dokáže jej ve většině datových toků při vhodném nastavení překonat. 6.1 Přínos Během tvorby této práce byl vytvořen příspěvek do soutěže STUDENT EEICT 2011, byl obhájen před komisí a přijat do sborníku. Sborník STUDENT EEICT 2011 je dostupný na WWW: < příspěvek lze najít v části Bakalářské projekty, sekce Grafika a multimédia. Zdrojové kódy programu mohou být díky objektovému návrhu rozšířeny o další linearizační průchody a entropické kodéry, jsou šířeny pod svobodnou licencí GPL. Zdrojové kódy jsou dostupné z WWW: < Byly provedeny další experimenty s transformacemi dat mezi kvantizačním a linearizačním krokem. První testovaná transformace bylo delta kódování nejen DC koeficientů, ale odděleně i na AC koeficientech. Další pokus byl proveden s Move-To-Front transformací [3] AC koeficientů. Move-To-Front je reverzibilní transformace, která vytváří pole o délce rovné nejvyššímu z posloupnosti nezáporných prvků jí zpracovávaných. Každý prvek pole má hodnotu rovnou jeho indexu. Poté se prochází posloupností a hodnota daného prvku je vyhledána v poli a přesunuta na jeho začátek. Všechny hodnoty, které se nacházely před ní, jsou v poli odsunuty o vzdálenost tohoto jednoho prvku. Touto transformací lze u několika často se opakujících libovolných čísel dosáhnout posloupnosti nízkých čísel, což může vylepšit efektivitu komprese. Následně bylo experimentováno s dělením různě velkých podmnožin AC koeficientů různými konstantami. Vliv všech těchto experimentů na kompresní poměr při zachování kvalitativních metrik byl negativní a nebyl do práce zakomponován. 6.2 Další vývoj Jako další rozšíření této práce by bylo možné implementovat lokální kosinovou transformaci [1]. Tento koncept umožňuje do určité míry předejít artefaktům, které při JPEG kompresi s vysokým kompresním poměrem vznikají na hranici bloků a v některých případech působí téměř až dojmem mřížky položené přes obraz. Lokální kosinová transformace se při kompresi provádí před DCT a při dekompresi po inverzní DCT. Tvoří doplňkovou transformaci a nijak nezasahuje do jádra JPEG kodéru, aplikuje se mimo něj. Při stejné úrovni komprese její autoři dosáhli vyšších hodnot PSNR a obrázky zpracované touto transformací byly v subjektivních testech hodnoceny jako kvalitnější než obrázky, na které transformace nebyla aplikována. 27
31 Dále plánuji dosáhnout kompatibility s podmnožinou JPEG standardu baseline sequential základní sekvenční postup. V současné podobě práce a za předpokladu, že bude použit Huffmanův kodér a cik-cak linearizační průchod, je k vytvoření kompatibility s baseline sequential nutné použití JFIF 1 segmentů, alespoň SOI, APP0/APP1, DQT, SOF0, DHT, SOS a EOI. Je na zvážení, jakým způsobem by se mohl obrázek vytvořený mým kodérem pomocí nestandardních technik upravit, aby s ním dokázal standardní dekodér alespoň částečně pracovat. Lze například uložit miniaturu obrázku ve standardní podobě, aby bylo bez mého nestandardního dekodéru možné zobrazit alespoň jeho náhled, a komprimovaná data uložit ve standardem nepodporovaném segmentu. V programu jsou implementovány a srovnávány bloky o velikosti 8 8 a 16 16, kód je v současné podobě nutné upravit, aby bylo možné testovat míru zlepšení i pro velikosti bloku 32 32, případně Vyšší velikost bloků už by pravděpodobně nebyla využitelná kvůli extrémnímu nárůstu kompresního i dekompresního času. 1 JFIF = JPEG File Interchange Format 28
32 Seznam zkratek JPEG DCT DC AC DPCM RLE EOB ZRL MPS LPS 3R RR PSNR SSIM VLC JFIF skupina, která tento kodek vytvořila (Joint Photographic Experts Group) diskrétní kosinová transformace (Discrete Cosine Transform) stejnosměrná složka (Direct Current) střídavá složka (Alternating Current) rozdílové kódování (Differential Pulse-Code Modulation) Run-Length Encoding konec bloku (End Of Block) běh nul (Zero Run-Length) pravděpodobnější symbol (More Probable Symbol) méně pravděpodobný symbol (Less Probable Symbol) Recursive Range Reduction Range Reduction špičkový poměr signálu k šumu (Peak Signal to Noise Ratio) strukturální podobnost (Structural Similarity) kód s proměnnou délkou (Variable Length Code) Formát kontejneru pro uložení JPEG dat (JPEG File Interchange Format) 29
33 Literatura [1] AHARONI, G; AVERBUCH, A.; COIFMAN, R.; ISRAELI, M. Local Cosine Transform A method for the reduction of the blocking effect in JPEG. In Journal of mathematical Imaging and Vision, Special Issue on Wavelets, Vol. 3. Houten: Springer Netherlands, s [2] AHMED, N.; NATARAJAN, T.; RAO, K. R. Discrete Cosine Transform. In IEEE Transactions on Computers. New York: Institute of Electrical and Electronics Engineers, s [3] BENTLEY, J. L.; SLEATOR, D. D.; TARJAN, R. E.; WEI, V. K. A Locally Adaptive Data Compression Scheme. In Communications of the ACM Vol. 29, No. 4. New York: Association for Computing Machinery, s [4] GUIDON, Y. Data compression: the "3R" algorithm [online] [cit ]. Dostupné z WWW: < [5] HUFFMAN, D. A. A Method for the Construction of Minimum-Redundancy Codes. In Proceedings of the I.R.E. New York: The Institute of Radio Engineers, Inc., s [6] CHANG, L. W; WANG, C. Y.; LEE, S. M. Designing JPEG quantization tables based on human visual systém. In International Conference on Image Processing ICIP '99. New York: Institute of Electrical and Electronics Engineers, s [7] Impulse Adventure: JPEG Chroma Subsampling [online]. c2011 [cit ]. Dostupné z WWW: < [8] ISO/IEC :1994. Information technology Digital compression and coding of continuous-tone still images: Requirements and guidelines. Geneva: International Organization for Standardization, s. [9] Kodak Lossless True Color Image Suite [online]. c2011 [cit ]. Dostupné z WWW: < [10] MAHONEY, M. Data Compression Explained [online]. [s.l.] Dell, Inc., 2011 [cit ]. Dostupné z WWW: < [11] MORTON, G. M. A computer Oriented Geodetic Data Base; and a New Technique in File Sequencing, Ottawa: IBM Canada Ltd. [12] SALOMON, D.; MOTTA, G. Handbook of Data Compression. 5th ed. London: Springer, s. ISBN [13] VOLLBEDING, G. ITU-T JPEG-Plus Proposal for Extending ITU-T T.81 for Advanced Image Coding. Geneva: Independent JPEG Group, Dostupné z WWW: < [14] Wikimedia Commons [online]. c2011 [cit ]. Dostupné z WWW: < [15] Wikipedie: Otevřená encyklopedie: Mortonův rozklad [online]. c2011 [cit ]. Dostupné z WWW: <
34 Seznam příloh Příloha 1. Manuál programu Příloha 2. Testovací obrázky Příloha 3. CD 31
35 Příloha 1. Manuál programu Na přiloženém CD jsou zdrojové kódy testovacího programu ve složce src a zkompilované binární soubory pro Microsoft Windows ve složce bin. Ke kompilaci programu je třeba použít kompilátor g++, v systému musí být nainstalována knihovna libgd. Pro nastavení použití bloků o velikosti a pro změnu výběru kvantizační tabulky je třeba odkomentovat či zakomentovat vybrané nastavení v řádcích - souboru common.h a program překompilovat. Použití programu: ibp <operace> vstup vystup [-q kvalita] [-c kodér] [-l linearizátor] Parametry: <operace>: c (komprese), d (dekomprese), e (porovnání dvou obrázků) (volitelný) <kvalita>: od 1 do (volitelný) <kodér>: 1=Huffmanův, 3=Golomb-Riceovy kódy, 4=3R, 5=Fibonacciho kódy (volitelný) <linearizační průchod>: 1=cik-cak, 2=Mortonův, 3=pyramidový Výchozí parametry: -q c 4 l 1 Příklad komprese a dekomprese: ibp c image.png test.out -q20 -c3 ibp d test.out image_2.png Příklad porovnání: ibp e image.png image_2.png Varianty programu: ibp_8_std bloky 8 8, standardní kvantizační tabulky ibp_8_hvs bloky 8 8, HVS kvantizační tabulky ibp_b16_std-padded bloky 16 16, doplněné standardní kvantizační tabulky ibp_b16_std-interpolated bloky 16 16, roztažené standardní kvant. tabulky ibp_b16_hvs bloky 16 16, HVS kvantizační tabulky 32
36 Příloha 2. Testovací obrázky K testování byly použity tyto obrázky, jejich bezztrátové verze jsou přiloženy na CD ve složce images. Obrázek 6.1.a: Lenna Obrázek 6.1.b: Baboon Obrázek 6.1.c: Parrots Obrázek 6.1.d: Glasses Obrázek 6.1.e: ReactOS 33
37 Příloha 3. CD 34
Kosinová 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ů
Kompresní algoritmy grafiky. Jan Janoušek F11125
Kompresní algoritmy grafiky Jan Janoušek F11125 K čemu je komprese dobrá? Pokud je třeba skladovat datově náročné soubory. Např. pro záznam obrazu, hudby a hlavně videa je třeba skladovat překvapivě mnoho
Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky
Komprese dat Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky Statistické metody Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen 2016 1 / 23 Tunstallův
III/ 2 Inovace a zkvalitnění výuky prostřednictvím ICT
Metodický list k didaktickému materiálu Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět
Konverze grafických rastrových formátů
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA STAVEBNÍ OBOR GEODÉZIE A KARTOGRAFIE KATEDRA MAPOVÁNÍ A KARTOGRAFIE Konverze grafických rastrových formátů semestrální práce Jakub Hořejší Ondřej Šalanda V
KOMPRESE OBRAZŮ. Václav Hlaváč, Jan Kybic. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání.
1/25 KOMPRESE OBRAZŮ Václav Hlaváč, Jan Kybic Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání hlavac@fel.cvut.cz http://cmp.felk.cvut.cz/ hlavac KOMPRESE OBRAZŮ, ÚVOD
Komprese videa Praha 2010 Účel komprese Snížení zátěže přenosového média Zmenšení objemu dat pro uložení Metody komprese obrazu Redundance Irelevance Redundantní složka část informace, po jejíž odstranění
Komprese dat (Komprimace dat)
Komprese dat (Komprimace dat) Př.: zakódovat slovo ARARAUNA K K 2 četnost absolutní relativní A 4,5 N,25 R 2,25 U,25 kód K : kód K 2 :... 6 bitů... 4 bitů prefixový kód: žádné kódové slovo není prefixem
Kompresní techniky. David Bařina. 15. února David Bařina Kompresní techniky 15. února / 37
Kompresní techniky David Bařina 15. února 2013 David Bařina Kompresní techniky 15. února 2013 1 / 37 Obsah 1 Pojmy 2 Jednoduché techniky 3 Entropická kódování 4 Slovníkové metody 5 Závěr David Bařina Kompresní
Teorie 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:
Informační systémy ve zdravotnictví
Informační systémy ve zdravotnictví ZS 2008/2009 Zoltán Szabó Tel.: (+420) 312 608 207 E-mail: szabo@fbmi.cvut.cz č.dv.: 504, 5.p Dnešní přednáška Kódování, komprese 2 1 Komprese dat Cíl komprese: redukovat
ZÁPADOČESKÁ UNIVERZITA V PLZNI
ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA PEDAGOGICKÁ KATEDRA VÝPOČETNÍ A DIDAKTICKÉ TECHNIKY KOMPONENTY PRO VÝUKOVÝ ELEKTRONICKÝ MATERIÁL - KOMPRESE V OBLASTI POČÍTAČŮ BAKALÁŘSKÁ PRÁCE Lukáš Smutný Přírodovědná
STRUKTURA RASTROVÝCH DAT
STRUKTURA RASTROVÝCH DAT dva typy rastrové vrstvy v GIS 1) Digitální obraz TV, počítač, mobil - obrazovka obraz z bodů mapa - mřížka s barevnými plochami 2) Rastrová data data pro analýzu a) binární -
13 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
Kompresní metody první generace
Kompresní metody první generace 998-20 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ Stillg 20 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca / 32 Základní pojmy komprese
25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE
25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE Digitalizace obrazu a komprese dat. Uveďte bitovou rychlost nekomprimovaného číslicového TV signálu a jakou šířku vysílacího pásma by s dolním částečně
Komprese dat Obsah. Komprese videa. Radim Farana. Podklady pro výuku. Komprese videa a zvuku. Komprese MPEG. Komprese MP3.
Komprese dat Radim Farana Podklady pro výuku Obsah Komprese videa a zvuku. Komprese MPEG. Komprese MP3. Komprese videa Velký objem přenášených dat Typický televizní signál - běžná evropská norma pracuje
KOMPRESE OBRAZŮ. Václav Hlaváč. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání. hlavac@fel.cvut.
1/24 KOMPRESE OBRAZŮ Václav Hlaváč Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání hlavac@fel.cvut.cz http://cmp.felk.cvut.cz/ hlavac KOMPRESE OBRAZŮ, ÚVOD 2/24 Cíl:
[1] samoopravné kódy: terminologie, princip
[1] Úvod do kódování samoopravné kódy: terminologie, princip blokové lineární kódy Hammingův kód Samoopravné kódy, k čemu to je [2] Data jsou uložena (nebo posílána do linky) kodérem podle určitého pravidla
DIGITÁLNÍ VIDEO. pokus o poodhalení jeho neskutečné obludnosti (bez jednosměrné jízdenky do blázince)
DIGITÁLNÍ VIDEO pokus o poodhalení jeho neskutečné obludnosti (bez jednosměrné jízdenky do blázince) Petr Lobaz, katedra informatiky a výpočetní techniky Fakulta aplikovaných věd, Západočeská univerzita
Grafika na počítači. Bc. Veronika Tomsová
Grafika na počítači Bc. Veronika Tomsová Proces zpracování obrazu Proces zpracování obrazu 1. Snímání obrazu 2. Digitalizace obrazu převod spojitého signálu na matici čísel reprezentující obraz 3. Předzpracování
Formáty obrazu. David Bařina. 22. března David Bařina Formáty obrazu 22. března / 49
Formáty obrazu David Bařina 22. března 2013 David Bařina Formáty obrazu 22. března 2013 1 / 49 Obsah 1 Pojmy 2 Nekomprimované formáty 3 Bezeztrátové formáty 4 Ztrátové formáty David Bařina Formáty obrazu
JPEG Formát pro archivaci a zpřístupnění.
JPEG 2000 Formát pro archivaci a zpřístupnění Přednáška: Přednášející: Kontakt: 3. 12, 2009, AMK2009 Bedřich Vychodil bedrich.vychodil@nkp.cz JPEG2000 a očekávání Představen konsorciem Joint Photographic
Technická kybernetika. Obsah. Principy zobrazení, sběru a uchování dat. Měřicí řetězec. Principy zobrazení, sběru a uchování dat
Akademický rok 2016/2017 Připravil: Radim Farana Technická kybernetika Principy zobrazení, sběru a uchování dat 2 Obsah Principy zobrazení, sběru a uchování dat strana 3 Snímač Měřicí řetězec Měřicí obvod
BPC2E_C09 Model komunikačního systému v Matlabu
BPCE_C9 Model komunikačního systému v Matlabu Cílem cvičení je vyzkoušet si sestavit skripty v Matlabu pro model jednoduchého komunikačního systému pro přenos obrázků. Úloha A. Sestavte model komunikačního
Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN
Škola: Gymnázium, Brno, Slovanské náměstí 7 Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN prostřednictvím ICT Číslo projektu: CZ.1.07/1.5.00/34.0940
Vodoznačení video obsahu
Vodoznačení video obsahu Bc. Jiří Hošek Email: hosek.j@seznam.cz Ústav Telekomunikací, FEKT, VUT v Brně Tento článek je zaměřen na problematiku vodoznačení a zejména pak na techniky vkládání vodoznaku
Webové stránky. 16. Obrázky na webových stránkách, optimalizace GIF. Datum vytvoření: 12. 1. 2013. str ánk y. Vytvořil: Petr Lerch. www.isspolygr.
Webové stránky 16. Vytvořil: Petr Lerch www.isspolygr.cz Datum vytvoření: 12. 1. 2013 Webové Strana: 1/6 Škola Ročník Název projektu Číslo projektu Číslo a název šablony Autor Tématická oblast Název DUM
DIPLOMOVÁ PRÁCE. Jan Ondruš Bezztrátová komprese JPEG grafiky
Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE Jan Ondruš Bezztrátová komprese JPEG grafiky Katedra softwarového inženýrství Vedoucí diplomové práce: Mgr. Jan Lánský Studijní
Počítačová grafika a vizualizace I
Počítačová grafika a vizualizace I KOMPRESE, GRAFICKÉ FORMÁTY Mgr. David Frýbert david.frybert@gmail.com OSNOVA Barva pro TV Datový tok Bitmapové formáty (JPEG, TIFF, PNG, PPM, ) Formáty videa MPEG-1,2,4,7,21
Rastrové grafické formáty. Václav Krajíček KSVI MFF UK, 2007
Rastrové grafické formáty Václav Krajíček KSVI MFF UK, 2007 Grafické formáty Velké množství Mnoho různých požadavků na uložená data neobrazová data Nativní formáty Například: PSP (Photoshop), XFC (Gimp)
Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty
Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)
Vliv šumu na kompresi videa
http://excel.fit.vutbr.cz Vliv šumu na kompresi videa Matyáš Anton* Abstrakt Videa jsou jakožto obrazový signál v různých fázích zpracování náchylná na vznik zkreslení ve formě šumu. Tento příspěvek zkoumá,
Datové formáty videa a jejich využití. Tomáš Kvapil, Filip Le Manažerská informatika Multimédia
Datové formáty videa a jejich využití Tomáš Kvapil, Filip Le Manažerská informatika Multimédia 8.12.2016 Obsah Vlastnosti videa Kontejnery Kodeky Vlastnosti videa Snímková frekvence Datový tok Prokládání
1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10
Úlohy- 2.cvičení 1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10 2. Převeďte dané desetinné číslo do dvojkové soustavy (DEC -> BIN): a) 0,8125 10 b) 0,35 10
Obraz jako data. Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno. prezentace je součástí projektu FRVŠ č.2487/2011
Získávání a analýza obrazové informace Obraz jako data Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno prezentace je součástí projektu FRVŠ č.2487/2011 Osnova 1 Datové formáty obrazu 2 Datové
Testování prvočíselnosti
Dokumentace zápočtového programu z Programování II (NPRG031) Testování prvočíselnosti David Pěgřímek http://davpe.net Úvodem V různých oborech (například v kryptografii) je potřeba zjistit, zda je číslo
Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP
Kódy pro odstranění redundance, pro zabezpečení proti chybám Demonstrační cvičení 5 INP Princip kódování, pojmy Tady potřebujeme informaci zabezpečit, utajit apod. zpráva 000 111 000 0 1 0... kodér dekodér
1. Formáty grafických dat
1. Formáty grafických dat Studijní cíl Tento blok kurzu je věnován problematice grafických formátů, kompresi grafických dat a odlišností u rastrových a vektorových souborů. Doba nutná k nastudování 2 hodiny
Elegantní algoritmus pro konstrukci sufixových polí
Elegantní algoritmus pro konstrukci sufixových polí 22.10.2014 Zadání Obsah Zadání... 3 Definice... 3 Analýza problému... 4 Jednotlivé algoritmy... 4 Algoritmus SA1... 4 Algoritmus SA2... 5 Algoritmus
Streaming a převod formátů
Streaming a převod formátů Jan Mráz Mgr. Miloš Prokýšek Školní rok: 2008-09 Abstrakt Teoretická část práce pojednává o problematice přímého publikování videa na internet ve formě streamingu s důrazem na
Využití ICT techniky především v uměleckém vzdělávání. Akademie - VOŠ, Gymn. a SOŠUP Světlá nad Sázavou
Datum: 1. 12. 2013 Projekt: Registrační číslo: Číslo DUM: Škola: Jméno autora: Název sady: Název práce: Předmět: Ročník: Obor: Časová dotace: Vzdělávací cíl: Pomůcky: Využití ICT techniky především v uměleckém
Kódováni dat. Kódy používané pro strojové operace
Kódováni dat Před zpracováním dat například v počítači je třeba znaky převést do tvaru, kterému počítač rozumí, tj. přiřadit jim určité kombinace bitů. Tomuto převodu se říká kódování. Kód je předpis pro
Datové typy a struktury
atové typy a struktury Jednoduché datové typy oolean = logická hodnota (true / false) K uložení stačí 1 bit často celé slovo (1 byte) haracter = znak Pro 8-bitový SII kód stačí 1 byte (256 možností) Pro
Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické
Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean
Hardwarová akcelerace HD videa v návaznosti na architektury čipu grafických karet
Martin Hyndrich HYN039 Hardwarová akcelerace HD videa v návaznosti na architektury čipu grafických karet 1. Úvod Na úvod bych se chtěl zmínit, nebo spíše popsat nynější standardní formáty videa. Dále také
12 Metody snižování barevného prostoru
12 Metody snižování barevného prostoru Studijní cíl Tento blok je věnován základním metodám pro snižování barevného rozsahu pro rastrové obrázky. Postupně zde jsou vysvětleny důvody k použití těchto algoritmů
Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky
Komprese dat Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky Slovníkové metody Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen 2016 1 / 23 Slovníkové
Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.
Kapitola Reprezentace grafu V kapitole?? jsme se dozvěděli, co to jsou grafy a k čemu jsou dobré. rzo budeme chtít napsat nějaký program, který s grafy pracuje. le jak si takový graf uložit do počítače?
Digitální magnetický záznam obrazového signálu
Digitální magnetický záznam obrazového signálu Ing. Tomáš Kratochvíl Současná televizní technika a videotechnika kurz U3V Program semináře a cvičení Digitální videosignál úvod a specifikace. Komprese obrazu
Videosekvence. vznik, úpravy, konverze formátů, zachytávání videa...
Videosekvence vznik, úpravy, konverze formátů, zachytávání videa... VIDEOSEKVENCE (VIDEO) Sekvence obrázků rychle po sobě jdoucích (např. 60 snímků za sekundu) tak, že vznikne pro diváka iluze pohybu.
Monochromatické zobrazování
Monochromatické zobrazování 1995-2015 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ Mono 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 27 Vnímání šedých odstínů
Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy
Ústav radioelektroniky Vysoké učení technické v Brně Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy Přednáška 8 doc. Ing. Tomáš Frýza, Ph.D. listopad 2012 Obsah
Bezpečný JPEG2000. 1. Úvod 2. JPEG2000. 2.1. Vlastnosti JPEG2000 2006/47 21.11.2006
Bezpečný JPEG2000 Ing. Kamil Bodeček, Ing. Petr Daněček, Prof. Ing. Kamil Vrba, CSc. Ústav telekomunikací, FEKT VUT Brno kamil.bodecek@phd.feec.vutbr.cz, danecek.petr@email.cz, vrbak@feec.vutbr.cz Rozšířením
Psaní na mokrý papír. Andrew Kozlik KA MFF UK
Psaní na mokrý papír Andrew Kozlik KA MFF UK W1 Motivace Problém: Vkládání do některých prvků nosiče má vysoký dopad na detekovatelnost. PNG/GIF: Oblasti s nízkou texturou. JPEG: Nulové AC koeficienty.
KTE/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
TECHNICKÁ UNIVERZITA V LIBERCI
TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky a mezioborových inženýrských studií Komprese měřených dat v 0.1 Liberec 2007 Viktor Bubla Obsah 1 Proč komprimace? 2 2 Filosofie základních komprimačních
Struktura a architektura počítačů (BI-SAP) 5
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 5 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii
Obrazovkový monitor. Antonín Daněk. semestrální práce předmětu Elektrotechnika pro informatiky. Téma č. 7: princip, blokově základní obvody
Obrazovkový monitor semestrální práce předmětu Elektrotechnika pro informatiky Antonín Daněk Téma č. 7: princip, blokově základní obvody Základní princip proud elektronů Jedná se o vakuovou elektronku.
Mikroprocesorová technika (BMPT)
Mikroprocesorová technika (BMPT) Přednáška č. 10 Číselné soustavy v mikroprocesorové technice Ing. Tomáš Frýza, Ph.D. Obsah přednášky Číselné soustavy v mikroprocesorové technice Dekadická, binární, hexadecimální
Rastrový obraz, grafické formáty
Rastrový obraz, grafické formáty 1995-2010 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ RasterFormats Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 35 Snímání
Zobrazování barev. 1995-2015 Josef Pelikán CGG MFF UK Praha. pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/
Zobrazování barev 1995-2015 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ ColorRep 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 18 Barevné schopnosti HW True-color
scale n_width width center scale left center range right center range value weight_sum left right weight value weight value weight_sum weight pixel
Změna velikosti obrázku Převzorkování pomocí filtrů Ačkoliv jsou výše uvedené metody mnohdy dostačující pro běžné aplikace, občas je zapotřebí dosáhnout lepších výsledků. Pokud chceme obrázky zvětšovat
Webové stránky. 6. Grafické formáty pro web. Datum vytvoření: 11. 10. 2012. str ánk y. Vytvořil: Petr Lerch. www.isspolygr.cz
Webové stránky 6. Vytvořil: Petr Lerch www.isspolygr.cz Datum vytvoření: 11. 10. 2012 Webové Strana: 1/6 Škola Ročník Název projektu Číslo projektu Číslo a název šablony Autor Tématická oblast Název DUM
Komprese obrazu. Úvod. Rozdělení metod komprese obrazů. Verze: 1.5, ze dne: 1. června Václav Hlaváč a Tomáš Svoboda
Komprese obrazu Verze:., ze dne:. června 6 Václav Hlaváč a Tomáš Svoboda Czech Technical University, Faculty of Electrical Engineering Center for Machine Perception, Prague, Czech Republic svoboda@cmp.felk.cvut.cz
Základní pojmy. Multimédia. Multimédia a interaktivita
Základní pojmy Multimédia Jedná se o sloučení pohyblivého obrazu, přinejmenším v televizní kvalitě, s vysokou kvalitou zvuku a počítačem, jako řídícím systémem. Jako multimediální systém se označuje souhrn
Práce s obrazovým materiálem CENTRUM MEDIÁLNÍHO VZDĚLÁVÁNÍ. Akreditované středisko dalšího vzdělávání pedagogických pracovníků
Práce s obrazovým materiálem CENTRUM MEDIÁLNÍHO VZDĚLÁVÁNÍ Akreditované středisko dalšího vzdělávání pedagogických pracovníků Obrazový materiál příjemná součást prezentace lépe zapamatovatelný často nahrazení
Kapitola 1. Signály a systémy. 1.1 Klasifikace signálů
Kapitola 1 Signály a systémy 1.1 Klasifikace signálů Signál představuje fyzikální vyjádření informace, obvykle ve formě okamžitých hodnot určité fyzikální veličiny, která je funkcí jedné nebo více nezávisle
MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY. 8. Uložení a komprese statického bitmapového obrazu
MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY 8. Uložení a komprese statického bitmapového obrazu Petr Lobaz, 3. 4. 218 BITMAPOVÝ OBRAZ PŮVOD OBRAZOVÝCH DAT (kreslicí) software data typicky připravena k přímé
Moderní multimediální elektronika (U3V)
Moderní multimediální elektronika (U3V) Prezentace č. 13 Moderní kompresní formáty pro přenosné digitální audio Ing. Tomáš Kratochvíl, Ph.D. Ústav radioelektroniky, FEKT VUT v Brně Program prezentace Princip
Komprese dat (KOD) Semestrální projekt Implementace RLE, BWT a LZW
Komprese dat (KOD) Semestrální projekt Implementace RLE, BWT a LZW Autor: Bc. Petr Kašpar Login: KAS265 Datum: 8. května 2009 Úvod Úkolem tohoto projektu bylo implementovat nějaký komprimační algoritmus.
Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19
Algoritmy I Číselné soustavy přečíst!!! Číselné soustavy Každé číslo lze zapsat v poziční číselné soustavě ve tvaru: a n *z n +a n-1 *z n-1 +. +a 1 *z 1 +a 0 *z 0 +a -1 *z n-1 +a -2 *z -2 +.. V dekadické
ztrátová odstraňuje zbytečné informace z obrazu. Různé druhy ztrátových kompresních metod se liší podle druhu odstraněných zbytečných informací.
Základní rozdělení Obecně každá ztrátová kompresní metoda je založena na odstraňování nadbytečných dat. Rozdělení kompresních metod obrazu: neztrátová -např. hledá delší sekvence stejných prvků nebo statisticky
PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných
PJC Cvičení #2 Číselné soustavy a binární reprezentace proměnných Číselné soustavy Desítková (decimální) kdo nezná, tak...!!! Dvojková (binární) - nejjednodušší Šestnáctková (hexadecimální) - nejpoužívanější
VYUŽITÍ POČÍTAČOVÉ GRAFIKY
POČÍTAČOVÁ GRAFIKA VYUŽITÍ POČÍTAČOVÉ GRAFIKY ÚPRAVA FOTOGRAFIÍ NAFOCENÉ FOTOGRAFIE Z DIGITÁLNÍHO FOTOAPARÁTU MŮŽEME NEJEN PROHLÍŽET, ALE TAKÉ UPRAVOVAT JAS KONTRAST BAREVNOST OŘÍZNUTÍ ODSTRANĚNÍ ČERVENÝCH
Kurz digitální fotografie. blok 1 data/úpravy fotografií
Kurz digitální fotografie blok 1 data/úpravy fotografií Grafické soubory Grafické soubory Obsahují grafická (obrazová) data, která mohou být uložena různými způsoby, tedy formou různých grafických formátů.
3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem
ČVUT FEL X36PAA - Problémy a algoritmy 3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem Jméno: Marek Handl Datum: 1. 1. 2009 Cvičení: Pondělí 9:00 Zadání Naprogramujte
II. Úlohy na vložené cykly a podprogramy
II. Úlohy na vložené cykly a podprogramy Společné zadání pro příklady 1. - 10. začíná jednou ze dvou možností popisu vstupních dat. Je dána posloupnost (neboli řada) N reálných (resp. celočíselných) hodnot.
Katedra radioelektroniky K13137, FEL ČVUT Praha. zakódování dané informace. Tento trend postihl i oblast záznamu a přenosu širokopásmových
EXPERIMENTÁLNÍ ZVUKOVÝ KODÉR F. Rund, J. Nováček Katedra radioelektroniky K13137, FEL ČVUT Praha Abstrakt Všechny dnes široce rozšířené systémy pro kompresi zvuku vycházejí ze stejných psychoakustických
Algoritmizace a programování
Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech
GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 6
UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ FAKULTA APLIKOVANÉ INFORMATIKY GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 6 Lubomír Vašek Zlín 2013 Obsah... 3 1. Základní pojmy... 3 2. Princip rastrové reprezentace... 3 2.1 Užívané
Binární data. Číslicový systém. Binární data. Klávesnice Snímače polohy, dotykové displeje, myš Digitalizovaná data odvozená z analogového signálu
5. Obvody pro číslicové zpracování signálů 1 Číslicový systém počítač v reálném prostředí Klávesnice Snímače polohy, dotykové displeje, myš Digitalizovaná data odvozená z analogového signálu Binární data
Komprese a dotazování nad XML dokumenty
Komprese a dotazování nad XML dokumenty Prezentace diplomové práce Lukáš Skřivánek České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů květen 2007 Vedoucí práce: Ing. Miroslav
Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.
1 3 4 5 6 7 8 9 10 11 1 13 14 15 16 17 18 19 0 1 3 4 5 6 7 8 9 30 31 3 Zdůvodněte, proč funkce f(n) = n log(n) 1 n 1/ roste rychleji než funkce g(n) = n. Zdůvodněte, proč funkce f(n) = n 3/ log(n) roste
South Bohemia Mathematical Letters Volume 23, (2015), No. 1, DĚLENÍ KRUHU NA OBLASTI ÚVOD
South Bohemia Mathematical Letters Volume 23, (2015), No. 1, 113-122. DĚLENÍ KRUHU NA OBLASTI MAREK VEJSADA ABSTRAKT. V textu se zabývám řešením následujícího problému: Zvolíme na kružnici určitý počet
Analýza a zpracování digitálního obrazu
Analýza a zpracování digitálního obrazu Úlohy strojového vidění lze přibližně rozdělit do sekvence čtyř funkčních bloků: Předzpracování veškerých obrazových dat pomocí filtrací (tj. transformací obrazové
Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
1 / 23 Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 2 / 23 biologové často potřebují najít často se opakující sekvence DNA tyto sekvence bývají relativně krátké,
Počítačová grafika a vizualizace volné 3D modelování. Maxon CINEMA 4D. Mgr. David Frýbert, 2012
Počítačová grafika a vizualizace volné 3D modelování Maxon CINEMA 4D Mgr. David Frýbert, 2012 Počítačová grafika a vizualizace volné 3D modelování komprese, grafické formáty Mgr. David Frýbert, 2012 Barva
Digitalizace dat metodika
Digitalizace dat metodika Digitalizace Jak počítač získá jedničky a nuly, se kterými potom počítá a které je schopen si pamatovat? Pomocí různých přístrojů a zařízení (mikrofon, fotoaparát, skener, kamera,
7. Rozdělení pravděpodobnosti ve statistice
7. Rozdělení pravděpodobnosti ve statistice Statistika nuda je, má však cenné údaje, neklesejte na mysli, ona nám to vyčíslí Jednou z úloh statistiky je odhad (výpočet) hodnot statistického znaku x i,
Grafické formáty. Grafické formáty. Komprese rastrového obrazu. Proč je tolik formátů pro uložení obrázků?
Grafické formáty poznámky k 5 přednášce Zpracování obrazů Martina Mudrová 00 Grafické formáty Proč je tolik formátů pro uložení obrázků? Cíl: uložení obrazových dat ve formě souboru různý charakter obrazu
Algoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Úlohy nad rastrovými daty Daniela
Semestrální práce z předmětu KIV/MHS. Komprese statického obrazu pomocí MDCT
Semestrální práce z předmětu KIV/MHS Komprese statického obrazu pomocí MDCT Havel Kotál (A07624) Srpen 2013 Obsah 1 Úvod... 2 2 Nástin problematiky ztrátové komprese obrazu... 3 2.1 Podvzorkování sytosti
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND
Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky ZVI Skeletizace Plzeň, 2006 Martin Chlupáč
Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky ZVI Skeletizace Plzeň, 2006 Martin Chlupáč 1. Zadání Cílem této práce bylo implementovat skeletizační algoritmus
Komprese obrazu. Verze: 1.5, ze dne: 1. června Václav Hlaváč a Tomáš Svoboda
Komprese obrazu Verze: 1.5, ze dne: 1. června 2006 Václav Hlaváč a Tomáš Svoboda Czech Technical University, Faculty of Electrical Engineering Center for Machine Perception, Prague, Czech Republic svoboda@cmp.felk.cvut.cz
VIDEO DATOVÉ FORMÁTY, JEJICH SPECIFIKACE A MOŽNOSTI VYUŽITÍ SMOLOVÁ BÁRA
VIDEO DATOVÉ FORMÁTY, JEJICH SPECIFIKACE A MOŽNOSTI VYUŽITÍ SMOLOVÁ BÁRA 18.12.2017 OBSAH VLASTNOSTI VIDEA Snímková frekvence Rozlišení Prokládání Poměr stran Komprese Datový tok ANALOGOVÉ FORMÁTY KONTEJNERY
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY ZTRÁTOVÁ KOMPRESE VIDEOSIGNÁLŮ - KVANTOVÁNÍ LOSSY VIDEO SIGNAL COMPRESSION - QUANTISATION
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF
VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ
VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ Michal Kořenář 1 Abstrakt Rozvoj výpočetní techniky v poslední době umožnil také rozvoj výpočetních metod, které nejsou založeny na bázi
Multimediá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