IP kamery – datový tok a komprimace

Víte co je to komprese videa nebo datový tok? Pokud ne, čtěte.

Základní pojmy

Základní (a nejmenší) jednotkou informace je 1 bit, zkráceně 1 b (pozor, písmeno b musí být malé). Tato informace může nabývat dvou hodnot – 0 (pravda, ano, logická 1) nebo 0 (nepravda, ne, logická 0).

Sdružení obvykle 8 bitů se nazývá 1 byte (čti bajt). To je nejmenší jednotka informace, se kterou dokážou přímo pracovat procesory v počítačích, kamerách atd. Označuje se písmenem B (velké).

Vyšší jednotky se nazývají :

kb/kB – kilobity/kilobajty – násobek 1000, tzn. 1kb=1000b (1000 bitů).

Mb/MB – megabity/megabajty – násobek 1 000 000, tzn. 1Mb = 1000kb = 1 000 000b.

Gb/GB – gigabity/gigabajty – násobek 1 000 000 000, tzn.1Gb = 1000Mb = 1 000 000kb = 1 000 000 000b.

Tb/TB – terabity/terabajty – násobek 1 000 000 000 000, tzn. 1Tb = 1000Gb = 1 000 000Mb = 1 000 000 000kb = 1 000 000 000 000b.

Přenosová rychlost je veličina udávající, jaký objem informací se přenese za jednotku času (obvykle sekundu). Udává se v b/s (bitech za sekundu), resp. vyšších násobcích (Kb/s, Mb/s) nebo vyjádřená v bajtech (kB/s, MB/s, GB/s).

Komprese / komprimace

Nyní, když známe význam dříve uvedených základních pojmů, můžeme si dát na začátek lehkou matematickou „rozcvičku“. Jaký je objem dat, potřebný pro záznam obrazu o délce 1 sekundy v rozlišení 1920×1080 (rozlišení Full HD) při 25 snímcích/s?

Odpověď je jednoduchá – je to minimálně 1920 x 1080 x 25 x 3 = 155 520 000 bajtů neboli přibližně 155MB.

Vezmete počet obrazových bodů (1920 x 1080), vynásobíte jej počtem snímků za sekundu (25) a nakonec je vynásobte počtem bajtů, nutných k definici barevné informace jednoho obrazového bodu (3 bajty). Bude-li náš zajímat minimální požadovaná přenosová rychlost, odpověď již známe – je to 155 520 000 B/s.

Pro Vaši představu – běžná počítačová sít dosahuje přenosové rychlosti 100Mb/s (tzn. cca 12.5MB/s). Nyní Vám asi přijde zvláštní, že obraz z kamery má být přenášet přes počítačovou síť, jejíž rychlost je přibližně 12x nižší, než kolik minimálně potřebujeme!

Odpovědí na tyto problémy je použití komprese (komprimace, stlačení) dat – kamera před odesláním (obrazových) dat provede určité „matematické“ operace, které redukují množství dat, které je třeba přenést. Tento postup budeme dále nazývat kompresní (komprimační) metodou. Na druhé straně zobrazovací část (např. PC) potom tyto komprimovaná data zpětně dekomprimuje – převede na „původní“ data. Tedy skoro původní data – v CCTV systémech se používá tzv. ztrátových kompresních metod, které nedovolují získat data v přesně původní podobě.

Používá-li se v kamerovém systému i záznamové zařízení, potom se data obvykle ukládají v komprimované podobě – šetří se tak výrazně úložná kapacita záznamového zařízení (tedy to, kolik záznamů je zařízení schopno uchovat).

To, jak moc komprimovaná data menší oproti původním datům se nazývá kompresní poměr. Je vhodné si zapamatovat, že čím je kompresní poměr vyšší (data se daří více zmenšit), tím klesá kvalita obrazu. Tento pokles kvality se projevuje poklesem počtu detailů v obrazu, pro určité kompresní metody pak i dále „rozkostičkováním“ obrazu.

Kompresní metody

V současnosti používají CCTV kamery dvou typů kompresí obrazu – první typ komprimuje každý jednotlivý snímek, druhým typ si všímá rozdílů mezi jednotlivými snímky.

MJPEG komprese

Jedná se o první typ komprese, kdy se komprimuje každý jednotlivý snímek zvlášť. Výhodou tohoto typu komprese je jeho relativní jednoduchost, má nižší nároky na hardware a do přenosu nevnáší příliš velké zpoždění (latenci). Nevýhodou je pak nižší kompresní poměr (cca 1:25, tzn. pro přenos obrazu dle našeho příkladu s Full HD kamerou je potřeba přenést cca 6.5MB/s = 52Mb/s).
Tento typ komprese je vhodné používat tam, kde je primárním cílem co nejrychleji a bez velké HW náročnosti získat původní obraz (detekce pohybu a další druhy video analýzy).

MPEG-4, H.264

Základním principem toho druhu komprese je, že se nejprve přenáší tzv. klíčový snímek. Ten může být komprimován podobně jako u předchozího typu komprese. V dalším, následném snímku se již přenáší pouze rozdíl oproti referenčnímu snímku, čímž se významně redukuje množství dat k přenosu. Výhodou tohoto typu komprese je vyšší kompresní poměr – pro starší kompresi typu MPEG-4 je to cca 1:120 (cca 11Mb/s), novější kompresní metodu H.264 pak cca 1:320 (cca 4Mb/s). Nevýhodou (oproti MJPEG) jsou pak vyšší nároky na výkonnost hardwaru (výkon procesoru a větší spotřeba paměti) a větší latence v přenosu. Tento typ komprese je vhodný používat pro záznam videosignálu.

 

Porovnání kompresních metod

Následující tabulka obsahuje požadované přenosové rychlosti v závislosti na rozlišení kamery a typu komprese. Všechny hodnoty jsou vypočteny pro snímkovou frekvenci 25 snímků/s.

Rozlišení MJPEG MPEG-4 H.264
640 x 480 (VGA) 7.78Mb/s 1.58Mb/s 0.57Mb/s
1280 x 1024 (1.3MPix) 32.77Mb/s 6.76Mb/s 2.46Mb/s
1920 x 1080 (Full HD) 51.81Mb/s 10.65Mb/s 3.89Mb/s

 

Komplexita scény a množství pohybu

Dříve uvedená „čísla“ (kompresní poměry) berte prosím s jistou (dosti širokou) rezervou. Zanedbané jsou totiž dva parametry, které mohou kompresní poměr výrazně změnit.
Prvním proměnlivým parametrem je komplexita scény – pro všechny typy kompresí (MJPG,MPEG-4, H.264) se výrazně lépe komprimuje (tzn., dosahujeme lepšího kompresního poměru) obraz, kde jsou velké plochy, tvořené stejnou barvou. Je tedy rozdíl, zda kamera snímá jednobarevnou stěnu nebo scénu, kde je množství různých barevných bodů.
Druhým proměnným parametrem je pro kompresní metody typu MPEG-4 a H.264 množství pohybu v obraze – snímáme-li statickou scénu (kde se nic nepohybuje), dosahujeme vyššího kompresního poměru než u scény, kde je množství pohybujících se objektů.

Příklad:

  • Obraz v rozlišení Full HD, 25 snímků/s, dobrá kvalita, komplexnost scény 85%, množství pohybu 80% = požadovaná rychlost přenosu cca 8.2Mb/s
  • Obraz v rozlišení Full HD, 25 snímků/s, dobrá kvalita, komplexnost scény 33%, množství pohybu 30% = požadovaná rychlost přenosu cca 1.9Mb/s

Jak vidíte, tyto parametry nám změnili kompresní poměr cca 4x (1:150 vs. 1:650)!

Otázkou je, zda lze tyto proměnné parametry nějak snadno vypočítat. V tomto Vás musíme bohužel zklamat – tyto parametry lze maximálně tak odhadnout na základě předchozích zkušeností (a to velmi nepřesně).

Variabilní vs. konstantní datový tok

Mnohé kamery umožňují nastavit, zda se bude požívat proměnlivý (variabilní, VBR) nebo stálý (konstantní, CBR) datový tok. Co tato slova znamenají?

Konstantní datový tok znamená, že kamera vždy „dodává“ stejné množství informací za jednotku času. To je na jednu stranu výhodné pro prostředí, kde nelze/nechceme přesáhnout určitou přenosovou rychlost (např. přenos po Internetu), na druhou stranu to může vést k dosti nevhodnému snížení kvality v okamžicích, kdy vzroste komplexita scény/množství pohybu.
Naproti tomu variabilní datový tok zachovává vždy stejnou kvalitu obrazu, ale kamera dodává v každý okamžik jiné množství informací. To může představovat určitý problém u přenosových médií, kde překračujeme jeho max. přenosovou rychlost (v jeden okamžik není možné přes přenosové médium přenést takový objem informací a docházelo by tak k „zamrznutí“ obrazu). Určitým řešením této situace je použití vyrovnávací paměti, kdy se nejprve načte určitý objem dat a teprve poté se začne zobrazovat. Nevýhodou tohoto přístupu je ovšem to, že výrazně vzroste latence – tedy časový rozdíl mezi okamžikem vzniku události a jejím zobrazením. Tento rozdíl může být i několik sekund.

Je tedy lepší zvolit variabilní nebo konstantní datový tok? Je-li primárním cílem získat obraz v určité kvalitě (což je většina případů), potom je lepší zvolit variabilní datový tok.

Problémy s rychlostí

Nyní, když máme určitou představu, jaké přenosové rychlosti potřebujeme pro přenos videa z jedné kamery, pojďme si zasadit tyto informace do širších souvislostí. Pro další úvahy prosím vezměte v potaz tyto zásady:

  • Výkon celého systému je omezen „nejslabším článkem řetězce“
  • Uváděné hodnoty jsou maximální možné (tedy jen teoreticky dosažitelné), v praxi se obvykle dosahuje nižších hodnot.

Častým slabým článkem IP kamerového systému bývá přenos po Internetu, tedy v situaci, kdy chcete kamery sledovat mimo síť, kde jsou fyzicky umístěny. K tomu samozřejmě potřebujete právě ono internetové připojení, které může být rychlostně omezeno.

Pokud si vybíráte poskytovatele internetového připojení, jistě Vás bude zajímat, jak rychlé toto připojení bude. Poskytovatelé uvádějí obvykle 2 hodnoty – tzv. rychlost downloadu a rychlost uploadu. První jmenovaná rychlost udává, jak rychle k Vám přitékají data směrem z Internetu, druhá rychlost naopak udává, jak rychle data do internetu odesíláte. Uvědomte si prosím, že do hry vstupují 2 internetová připojení – jedno na straně kamerového systému (tam nás zajímá rychlost uploadu) a druhé na „zobrazovací straně“ (tedy tam, kde chcete kamery sledovat). Zde je pro Vás rozhodující rychlost downloadu. Výsledná rychlost bude omezena na nižší z obou rychlostí – např. je-li na obou stranách internetové připojení s rychlostí 16Mb/1Mb, potom bude výsledná rychlost přenosu právě 1Mb/s.

Dále nám do hry může vstoupit agregace – velmi zjednodušeně řečeno, poskytovatel Vám u agregovaného připojení negarantuje určitou přenosovou rychlost (ta udávaná je pouze teoretické maximum), ale obvykle bývá nižší (v závislosti na počtu uživatelů, kteří s Vámi sdílejí internetové připojení)

Z uvedených informací tedy plyne, že uvedené připojení k internetu bude nedostatečné pro připojení byť jen jediné kamery ve Full HD rozlišení (potřebujeme cca 4Mb/s, máme cca 1Mb/s).

Jak z této situace ven? Obecně lze doporučit dvě řešení – buď snížit datový tok z kamery (snížením snímkové frekvence, kvality či rozlišení) nebo si zařídit rychlejší internetové připojení. Ani jedno z uvedených řešení není ideální nebo snadné – při snížení rozlišení/kvality přicházíte o množství detailů v obraze, doporučit lze tedy jen omezení snímkové frekvence. Rozhodnete-li se pro druhé řešení, připravte se na pravděpodobně vyšší náklady na internetové připojení, popř. jiné, rychlejší připojení nemusí být v místě instalace kamerového systému vůbec dostupné (např. na venkově).

Existují další možná řešení uvedeného problému s rychlostí – mnoho značkových výrobců nabízí např. víceproudé (multistreamové) kamery. To jsou kamery, které současně dodávají několik (2-4) oddělených proudů video dat, přičemž každý proud může mít nastaveno jiné rozlišení, kvalitu a snímkovou frekvenci. Jeden proud v plné kvalitě je tedy možno použít pro lokální záznam, druhý proud v omezeném rozlišení je možné použít k přenosu po internetu nebo pro mobilní telefon. Nevýhodou tohoto řešení je to, že takto můžete sledovat pouze živý obraz – uvedené problémy se tedy znovu objeví při přehrávání záznamu.

Jiným řešením uvedeného problému je tzv. re-streaming (opětovné vysílání). Podstatou této metody je, že záznamová zařízení samo „přepočítá“ obraz z vysokého rozlišení do nižšího, upraví kvalitu, snímkovou frekvenci aj. Výhodou tohoto řešení je, že k jeho činnosti není třeba víceproudých kamer a dochází k přepočítání živého obrazu i záznamů. Nevýhodou je nutný vysoký výpočetní výkon – s tímto řešením se tedy setkáme u záznamových zařízení, tvořených počítačem s výkonným procesorem (tzn. vyšší cena, vyšší spotřeba, obvykle nižší stabilita).

Poslední „varování“, související s přenosovou rychlostí se týká funkce zrychleného přehrávání záznamů, kterou nabízejí některá záznamová zařízení. Ve většině případů je tato funkce realizována tak, že záznamové zařízení posílá data vyšší rychlostí, takže požadovaná přenosová rychlost pak roste násobkem rychlosti přehrávání – např. záznam kamery, která při normální rychlosti vyžaduje cca 4Mb/s, bude pro 4 násobnou rychlost přehrávání vyžadovat přenosovou rychlost 16Mb/s!

Závěr

Jak je patrné z předchozích odstavců, moderní IP kamerové systémy umožňují bez vážnějších komplikací přenášet obraz po lokální počítačové síti, Achillovou patou však může být přenos obrazu po Internetu. Počítejte tedy při pořízení kamerového systému s tím, že vzdálený monitoring klade na Vaše internetové spojení nemalé nároky a uspokojivé řešení těchto nároků nemusí být vůbec jednoduché / finančně nákladné.