ZAJÍMAVOSTI
ze světa střihu, editace videa a všeho možného


STŘÍHACÍ KARTY

Stříhací karty slouží pro převod videozáznamu z videokamery do počítače. Data se dají přenášet oběma směry a tedy sestříhaný záznam můžeme opět nahrát do kamery, nebo spíše na videokazetu. Záklaní rozdělení stříhacích karet je dělení na analogové a digitální. Dobrým zdrojem pro vyčerpávající informace o stříhacích kartách, kompresi, multimediálních formátech, kodecích, editračních programech levných i těch nejlepších najdete na stránkách po kiknutí na tento obrázek

Nu, svět kolem nás se hýbe rychlej než si myslíme :-)



VÝROBCI A DISTRIBUTOŘI

Firmy, které se zabívají stříhacími kartami je mnoho. Někteří se specializují na profesionální stanice pro televizní společnosti, jiné dávají přednost zastoupení v široké veřejnosti. Vybral jsem dvě firmy, u kterých nalezneme zastoupení v obou směrech. První je německá firma Pinnacle, která má zastoupení v české republice firmou Exac a firmu Canopus s českým zastpupením firmy Syntex. Větší zkušenosti, a vlastně jediné mám z firmou Pinnacle a to s probukty studio 7, studio 8, studio 9. Všechny naše projekty doposud, vznikaly za pomoci stříhací karty Pinnacle studio DC10+ a editačnícho sofrwaru Pinnacle studio 8. Tento produkt má řadu výhod, ale taky řadu nedostatků. Hlavní výhodou je pořizovací cena vzhledem ke kvalitám jaké studio8 umí. Horší je to s doladěním celého systému, aby vše fungovalo jak má. Firmu Canopus jsem uvedl proto, že chystám spolupráci s touto firmou a jejich produktem DVStorm2 Pro. Má řadu hezkých funkcí, jako například natáčení proti zelenému pozadí, dynamické zrychlení atd. Navíc karta má oba druhy vstupů a výstupů. K nahlédnutí doporučuju Canopus CWS-100 Creative Workstation, plně profesionální stanice pro televizní společnosti. Cena tohoto produktu jde k milionu. U firmy Syntex nalezneme také jiné kvalitní firmy - Leicht-DPS a jeho produkt DPS Velocity, DPS reality a jiné. Více informací naleznete přímo na stránkách těchto firem

.


ZE SVĚTA KOMPRESE

(zdroj: http://www.zive.cz/h/Testcentrum/Ar.asp?ARI=104800&CAI=2075)

Pokud jste někdy pracovali s obrázky, jistě vám neušlo, co to je bitmapa a jak je velká. Pro ty méně informované uvedu, že bitmapa je takový datový formát, který popisuje každý pixel (čtvereček, nejmenší jednotku obrazu) z hlediska jeho barvy. Obrázek s rozlišením 800 pixelů šířka a 600 pixelů výška má celkem 480 tisíc pixelů, což násobeno počtem bytů použitých pro zaznamenání barvy znamená gigantické množství dat. Při použití 24bit (16,7 milionu barev) je výsledný obrázek velký 1440000 bytů plus ještě informace o šířce a výšce obrázku a formátu kódování (tyto dodatečné informace ovšem zabírají minimální prostor).

Evropský filmový standard PAL má 25 snímků za vteřinu, což znamená, že za vteřinu je potřeba 25 bitmap. Jelikož rozlišení tohoto formátu je 720x576 pixelů, znamená to gigantických 30 MB/s požadovaného datového toku. Pro srovnání, dnešní špičkové EIDE pevné disky dosahují průměrně zhruba této přenosové rychlosti při čtení (zapisují ale výrazně pomaleji).

Dalším, možná ještě významnějším problémem je, že 1GB filmu tak znamená pouze 34 vteřin záznamu. Na běžný, jeden a půl hodinu trvající film by bylo potřeba zhruba 160GB dat. Jak jistě uznáte, toto je zcela neúnosné.

Principy kódování

Protože úkolem video komprese je vytvořit pokud možno co nejlepší kvalitu obrazu při únosných hardwarových nárocích, je nutné se zamyslet, co mají všechny filmy společného. Podívejte se na následující dva po sobě jdoucí snímky z jednoho nejmenovaného filmu (kliknutím zvětšíte na celou obrazovku):

Ano, uhádli jste. Snímky jakoby si z oka vypadly. Nejsou stejné, ale velmi podobné. A z toho lze také vyjít. Dnes se běžně používají tři principy komprese.

Neúplné snímky

Nejvýraznější úspory a zároveň bez sebemenší ztráty kvality lze dosáhnout použitím neúplných snímků. O co jde? Protože jsou si po sobě jdoucí snímky často velmi podobné, stačí zaznamenat pouze první snímek celý a další pouze jako rozdíly oproti předchozímu. Změn je obvykle tak málo, že získaná datová úspora je natolik velká, aby kompresní poměr mohl být i 1:100. A co je ještě zajímavější, hardwarové nároky takto komprimovaného filmu rapidně klesají. Jak by taky ne, když disk musí číst výrazně méně dat a procesor se zabývá pouze rozdílnými pixely, ne celým obrázkem.

Jestli si ještě pamatujete na tuto animaci...

Animace o velikosti necelých 13kB.

... tak ta je udělána ve formátu GIF a její první část po rozložení na jednotlivé snímky vypadá takto:

Polovina snímků animace, velikost 37 kB.

Zde je jasně vidět, že obraz se až na některé detaily prakticky nemění. V druhém snímku stačí zaznamenat pouze onen malý červený obdélníček v levém dolním rohu. Formát GIF udělá právě toto a celá animace (tj. nejen zde zobrazená půlka) má velikost ani ne 13kB, zatímco výše uvedený obrázek s půlkou snímků má plných 37kB!

S neúplnými snímky souvisí pojem Keyframe - klíčový snímek. Přestože jsou neúplné snímky z hlediska enkódování velmi výhodné (bez nich by se prakticky nejednalo o žádnou kompresi), mají také jednu zásadní nevýhodu. Pokud potřebujete zobrazit nějaký konkrétní snímek (typicky při přetáčení), musí se napřed složit ze snímků předchozích. Jestliže dekódování vyspělých formátů, jakým je např. MPEG-4, i tak trvá dost dlouho, může se tato operace stát pro procesor tvrdým oříškem. Do filmů se proto vkládají v různých nebo pravidelných intervalech klíčové snímky, takové, které zaznamenávají celý obraz, ne jen jeho rozdíl oproti předchozímu. Kdyby nebyly klíčové snímky, přetáčení by trvalo neúnosně dlouho.


Zde jsou vidět dva klíčové snímky.

Sprite

Ne ne, nejedná se o oblíbený nápoj od ještě oblíbenějšího výrobce, ale o pojem, který v počítačové terminologii znamená pohyblivou texturu. Kdo by si nepamatoval na legendární 3D akční hry od Id Software (Wolfenstein, Doom) nebo od 3D Realms (Duke Nukem 3D, Blood). Všechny tyto hry používají z důvodu nenáročnosti na hardware sprity pro zobrazení nepřátelských potvor, různých předmětů atp. Protože jsou vytvořeny pomocí textury, vypadají tyto objekty ze stejného úhlu vždy úplně stejně.

Novější hry jako Quake modelují tyto objekty plně v 3D, nespoléhají se na sprity, protože to nevypadá dostatečně věrohodně a dnešním počítačům nedělá problém se s vyšší složitostí vypořádat.

Stejného principu lze využít u kódování videa. Některé pohybující se části obrazu mohou vypadat v po sobě jdoucích snímcích stejně, avšak mohou být posunuté (výsledný obraz se proto liší). V tomto případě tak stačí nalézt tento pohybující se objekt a správně určit jeho vektor pohybu mezi jednotlivými snímky. Tato technika je typická pro vyspělé kodeky, protože má značné výpočetní nároky

Pixelizace

... je metodou známou ze ztrátových obrázkových kompresí, jakou je např. JPEG. Idea vychází z faktu, že dva sousední pixely si mohou být svou barvou natolik blízké, že jejich "sloučením" do jednoho datového záznamu je možné při minimálním snížení kvality dosáhnout značné úspory dat. To se obvykle provádí pomocí změny barvy obou pixelů na barvu přechodovou (když bude jeden pixel tmavě červený a druhý světle červený, výsledkem bude středně červená barva).

Efekt je jasně vidět na tomto záběru.

Na první pohled není nic neobvyklého, když si ale vrcholek mrakodrapu zvětšíte, dojdete k závěru, že něco není zcela v pořádku.

Okraje jsou jakoby rozmazané, neostré a vůbec celá budova je kostičkovatá. Je to dáno tím, že společně s pixelizací se obvykle používá také filtrování, které vyhlazuje ostré hrany, aby efekt "sloučených" pixelů nebyl na první pohled tak nápadný.

Chcete-li vidět efekty zvoleného datového toku na množství použité pixelizace, mrkněte na článek o Lurawave kompresi.

Komprese MPEG

Zkratka MPEG znamená Motion Picture Experts Group, neboli Skupina expertů na pohyblivé obrázky. V zásadě jsou k dispozici tři kódovací schémata.

MPEG-1 je formát roky používaný u Video-CD formátu. Filmy jsou obvykle na dvou CD a jejich kvalita je po obrazové stránce nevalná.

Obrázek z filmu komprimovaného pomocí MPEG-1.
Obrázek z filmu komprimovaného pomocí MPEG-1.

Rozlišení 352 na 288 pixelů připomíná spíše staré hry pro DOS než film. Jedinou výhodou jsou velmi nízké nároky na hardware (stačí jakékoliv Pentium). Tento formát by se dal nazvat experimentem v oblasti videa na osobních počítačích, k dokonalosti má dost daleko.

Nesrovnatelně lepší kvality dosahuje MPEG-2 používaný u DVD, mimojiné také díky několikanásobně většímu rozlišení a datovému toku.


Kvalita filmů na DVD je téměř dokonalá.

Posledním přírůstkem do rodiny MPEG kompresí je velice zdařilý MPEG-4. Jedná se o algoritmus, který produkuje jen o malinko horší výsledky než MPEG-2, ale zároveň má několikrát menší bitrate (maximum kodeku je 6000 kilobitů/s). Náročnost na hardware je z dnešního pohledu velmi vysoká, při použití postprocessingu si i na Pentiu 4 2GHz při přehrávání vezme ve vysokých rozlišeních až 90 procent výkonu (bez něj zhruba třicet). I přesto má ale jednu obrovskou výhodu - film z DVD lze díky MPEG-4 kompresi uložit na jedno až dvě CD a to ve velmi vysoké kvalitě. Maximální rozlišení je 720 na 576 pixelů.

Bitrate

Bitrate znamená v překladu bitová míra a nejedná se o nic jiného než o počet bitů za vteřinu. Obecně platí, že čím více bitů za vteřinu je na kompresi použito, tím má výsledek lepší kvalitu. Bitrate se rozděluje na dva typy:

konstatní - Kodek udržuje stále stejný bitrate bez ohledu na to, kolik je ho ve skutečnosti potřeba. Tento typ se běžně používá u starších kompresních algoritmů (např. MPEG Audio Layer 3) a má výhodu v tom, že se dá dobře sesynchronizovat díky konstatní velikosti za sekundu. Jestliže je audio nahrávka vytvořena s konstatním bitrate, znamená to, že půlka skladby je přesně uprostřed souboru.

proměnlivý - Bitrate se mění v závislosti na složitosti scény, což znamená, že na málo složité pasáže se použije málo dat, zatímco na složité výrazně víc. Výhodou je, že takto lze dosáhnout při stejném průměrném datovém toku výrazně vyšší kvality výstupu, nevýhoda naopak to, že se dá špatně odhladnout velikost výsledného souboru (zvolený bitrate reprezentuje průměr a málokdy se do něj kodek přesně strefí). Tento typ kódování používá MPEG-4.

K výpočtu vhodného bitrate lze použít jeden z mnoha programů k tomuto účelu vytvořených. Mně se osvědčil poměrně přesný DivX4 Bitrate Calculator:

Ten nejenže počítá velmi přesně, navíc má celou řadu extra nastavení jako např. různé audio formáty a u nich přednastavený i volitelný bitrate.

Další užitečnou vlastností programu je kalkulačka na výpočet rozlišení. Vlevo stačí navolit poměr stran zdroje (ten je obvykle napsán na obalu DVD disku) a pak zvolit požadovanou šířku výstupu. Program sám dopočítá výšku a navrhne nejbližší vhodné rozlišení (jak šířka, tak výška musí být dělitelné 16ti).

Je tomu již poměrně dlouho, co se formát MPEG-4 začal prosazovat. Jeden z prvních kodeků byl přímo od Microsoftu. Ale jak jistě víte, Microsoft nerad cokoliv dává "for free" (zdarma). Stejně tak tento kodek byl určen pouze pro dekódování (přehrávání). Kdosi se proto rozhodl, že si pohraje s DeAssemblerem a poněkud pozmění kód. Takto "vzniknul" kodek DivX verze 3.11 alpha.

Tento kodek je typický svým šibalským úsměvem ;-) a všudypřítomnou větou Hacked with Joy ! Je to v zásadě stále kodek od Microsoftu, ovšem změněný tak, aby umožňoval enkódování. V menu, které můžete vidět na obrázku výše, je možné nastavovat bitrate a interval mezi klíčovými snímky. Třetí volba (Smoothness / Crispness) patrně souvisí s ostrostí hran, ale to nemůžu potvrdit. Jestli někdo víte, o co přesně jde, nenechávejte si to pro sebe a podělte se s námi v diskuzi pod článkem.

Co je uvnitř

Kodek je distribuovaný v zapakovaném archivu s několika "bonusy".

Tak především samotný kodek je rozdělen na dva typy - Low Motion (DivXc32.dll) a Fast Motion (DivX32f.dll). Oba se poněkud liší systémem kódování a produkují různé výsledky. Prvně jmenovaný se hodí pro filmy s málo se měnícími scénami a pro vysoký bitrate kolem 1000 kilobit/s a vyšší. Fast Motion se naopak hodí pro nižší bitrate a pro složité, rychle se měnící scény (typicky akční filmy).

Dále je zde "pozměněný" kodek Windows Media Audio formátu (DivXa32.acm), který není nazván nijak jinak než DivX ;-) Audio a umožňuje jak přehrávání, tak enkódování. Formát WMA je poměrně oblíbený, obecně dosahuje při nižším bitrate podobných výsledků jako MP3, ale... vytvořil ho Microsoft, takže se nemusíte bát, že by se někdy objevil na "nevhodných" operačních systémech :-(((.

Mnohem zajímavější je další bonus - kodek na MPEG Audio Layer 3 (MP3) přímo od Fraunhofer Institut Integrierte Schaltungen (L3codeca.acm). Ten sice nese přízvisko Radium, ale není to nic jiného než ukradený kodek přímo od tvůrce tohoto formátu. Kdo si ještě pamatuje na výborný enkódovací program L3enc, jistě mi dá za pravdu, že kodeky z Fraunhoferu jsou špička (s výjimkou MP3Enc). Jako prakticky vše v balíku, i tento kodek je distribuován nelegálně.


U Layer III codecu se dá nastavit, jaké schéma se má používat při kterém bitrate.

V praxi stačí vědět, že Stereo režim vytvoří pro každý kanál vlastní datový tok, což sice znamená plně stereofonní a čistý zvuk, zároveň je ale pro stejnou kvalitu potřeba mnohem vyšší datový tok. Režim Joint stereo vychází z předpokladu, že zvuk v obou kanálech se ve většině scén příliš neliší, tudíž stačí vytvořit jeden středový kanál a pocit stereo zvuku dotvořit tak, že při velkých výkyvech oproti středu se vytvoří další záznam pro konkrétní stereo kanál, tj. jeho rozdíl oproti středu. Režim MS je obecně dost kvalitní, zatímco IS již znamená značné oříznutí původního signálu.

Problémy a verze 3.2

Některé filmy vytvořené pomocí DivX 3 mohou mít problémy se zasekáváním. Jedná se o chybu při kódování, kdy se do filmu uloží chybně kódované snímky, které dekodér při přehrávání není schopen strávit. K vyřešení tohoto problému je třeba nainstalovat DivX antifreeze 0.4, který při zaseknutí posune přehrávání na další snímek v pořadí. Poškozený film bohužel opravit nedokáže.

Za zmínku stojí i verze 3.2 distribuovaná např. jako součást Kristal Studio Codecs Packu. Jedná se o mírně inovovanou verzi, která sama určuje, kde budou umístěné klíčové snímky. Někdy se můžete setkat i s názvem VKI patch.

Dnes nejpoužívanější enkodér / dekodér pochází z dílen Project Mayo. Tento kodek je napsaný zcela od začátku a je zdarma. Nejedná se tedy o nic nelegálního jako v případě verze 3.


Nové logo Project Mayo

Výhodou je, že tato verze se stále vyvíjí a je plně optimalizovaná pro moderní mikroprocesory (staré stejně nejsou dost výkonné). Tak např. od verze 4.11 je zde výborná optimalizace přímo od programátorů Intelu. Zde musím zdůraznit, že Intel v této oblasti nezaměstnává jen tak nějaké kutily, ale, podobně jako nVidia, jedny z nejlepších programátorů vůbec, o jejichž kvalitách se můžete přesvědčit například na perfektním C++ kompilátoru. Přestože tyto nové optimalizace jsou určeny primárně pro procesory Pentium 4, značně zvyšují výkon i na konkurečních Athlonech. Tento kodek si opět můžete stáhnout z Doom9.net, oficiální stránka www.divx.com dnes nabízí ke stažení již přepracovanou verzi 5. V balíku nejsou žádné ilegální knihovny, takže kodek na MP3ky si budete muset sehnat extra.

Zajímavostí je, že tento kodek má čtyři režimy práce. 1-pass režim je klasický princip, který používá drtivá většina kodeků. Video se při něm nejprve analyzuje a poté se zkomprimuje tak, aby se dosáhlo pokud možno zvoleného bitrate.

Režim 1-pass quality based je obdobou 1-pass, pouze s tím rozdílem, že místo bitrate zadáte požadovanou kvalitu výstupu. Tento režim je pro komprimaci filmů z DVD zcela nevhodný, protože nelze vůbec předpovídat výslednou velikost souboru.

Z hlediska kvality výstupu je nejzajímavější 2-pass enkódování. Jak název napovídá, jedná se o dvojprůchodové kódování, kdy při prvním průchodu si kodek poznamená, jak jsou konkrétní scény složité a v druhém průchodu využije dříve získané údaje o složitosti k vytvoření finálního AVI souboru (typický textový záznam z prvního průchodu má velikost kolem 15MB!). Protože se jedná o dva průchody, trvá enkódování 2x déle než v případě 1-pass režimu.

Volba Performance/quality určuje, kolik snímků dopředu bude kodek před samotnou kompresí analyzovat. Čím více, tím lepší kvality lze dosáhnout, především pokud se střídá rychlá a klidná scéna. Toto nastavení pochopitelně značně ovlivňuje výpočetní náročnost operace.

Kodek dále umožňuje nastavit maximální vzdálenost klíčových snímků, přestože o konkrétním umístění uživatel rozhodovat nemůže. Vhodným nastavením se dá ušetřit i několik MB, ovšem za cenu pomalejšího přetáčení. Pro pohodlné přehrávání nedoporučuji větší délku než 5 vteřin (v PAL filmu 125, v NTSC 150 framů).

Omlouvám se, že zde není nic o nejnovějším kodeku DivX 5, s ním bohužel nemám zatím žádné zkušenosti, takže nemohu posoudit jeho kvality ani dopad na výkon.

Čím je můj film kódován?

Poměrně častým problémem je, když nezkušený uživatel nedokáže poznat, čím je konkrétní AVI soubor kódován, zda starou verzí 3 nebo novou 4, na kterou nefunguje dekodér od Microsoftu (verze 3).

Použitý kodek se dá snadno zjistit tak, že si otevřete AVI soubor binárně a podíváte se na začátek.

AVI soubor binárně

Na tomto obrázku je vidět text "vidsDIVX", což znamená, že tento AVI soubor je komprimován novým kodekem verze 4. Pokud by zde byl nápis vidsDIV3, znamenalo by to verzi 3 Low Motion, v případě vidsDIV4 pak verzi 3 Fast Motion.

Název DIVX dále značí, jaký dekodér se má použít. DIV3 znamená verzi 3 a DIVX verzi 4. Obyčejně se ale verze 4 nainstaluje jako přehrávač DIV3 i DIVX.

 

 

.