Rok / Year: 2012
Svazek / Volume: 14
Číslo / Issue: 4
Výkonnost specializovaných bezpečnostních kamer při předávání statického obrazu s využitím dotazovací metody GET Performance of specialized security cameras in the transmission of still images using the GET method query Radek Pospíšil
[email protected] Fakulta elektrotechniky a komunikačních technologií VUT v Brně.
Abstrakt: Článek se zabývá problematikou získávání statického obrazu ze specializovaných kamer používaných v bezpečnostních systémech, respektive systémech CCTV. Prostřednictvím specializovaného testovacího rozhraní je měřena výkonnost typických zástupců bezpečnostních kamer s ohledem na přenos snímků prostřednictvím protokolu http a metody GET. Článek dále poukazuje na omezenou použitelnost popisované metody přístupu k obrazu specializovaných bezpečnostních kamer.
Abstract: This article deals with the acquisition of a static image of the specialized cameras which are used in CCTV systems. The article presents the results of performance in the transmission of video cameras picture via http protocol.
2012/53 – 23. 8. 2012
Výkonnost specializovaných bezpečnostních kamer při předávání statického obrazu s využitím dotazovací metody GET Radek Pospíšil Fakulta elektrotechniky a komunikačních technologií VUT v Brně Email:
[email protected]
Abstrakt – Článek se zabývá problematikou získávání statického obrazu ze specializovaných kamer používaných v bezpečnostních systémech, respektive systémech CCTV. Prostřednictvím specializovaného testovacího rozhraní je měřena výkonnost typických zástupců bezpečnostních kamer s ohledem na přenos snímků prostřednictvím protokolu http a metody GET. Článek dále poukazuje na omezenou použitelnost popisované metody přístupu k obrazu specializovaných bezpečnostních kamer.
1 Úvod V oblasti bezpečnostních kamerových systémů (CCTV, neboli Closed Circuit Television) v nedaleké minulosti dominovaly systémy analogové. Současným trendem je ovšem přechod k řešením využívajícím pro přenos informací protokol IP, díky čemuž je umožněno využití specializovaných bezpečnostních kamer i v dalších oblastech souvisejících s digitálním zpracováním obrazu. U systémů CCTV se využívá při kompresi videa standardů H.264, MPEG-4 a formátu MJPEG [1]. Tento článek je zaměřen na praktické ověření využitelnosti bezpečnostních kamer pro získávání statických obrazových dat přenášených v podobě komprimovaného ztrátového formátu JPEG. Výrobci bezpečnostních kamer integrují do svých výrobků webové servery, které umožňují prostřednictvím metody GET [2] předávat statická obrazová data, která korespondují s aktuální obrazovou scénou, kterou kamera zaznamenává. Takto je možné relativně jednoduše získat obrazová data pro následné zpracování. Omezením ovšem je velmi nízký počet jednotlivých snímků, které lze během jedné sekundy zpřístupnit a metodou nelze v žádném případě suplovat přístup prostřednictvím standardů H.264, nebo MPEG-4 [3]. Bohužel jednotlivé modely bezpečnostních kamer neobsahují informaci o rychlosti předávání statického obrazu při daném rozlišení a míře komprese, proto vzniknul tento článek, jehož cílem je zpřístupnit informace o možnostech využitelnosti výše uvedené metody získávání obrazových dat. 1.1 Přístup k datům bezpečnostních kamer Webové servery, integrované v bezpečnostních kamerách, umožňují prostřednictvím URL [2] příkazů vzdáleně obsluhovat kameru, nastavovat její parametry, či získávat požadovaná data. Každý z výrobců bohužel integruje svoje vlastní proprietární rozhraní, a proto jednotlivé příkazy, které kamera akceptuje, nejsou jednotné. Princip dotazování se o JPEG data je
stejný a liší se pouze podoba výrazu (identifikátoru URI), který každý z výrobců modifikuje do podoby vyhovující jeho produktům. Veškeré potřebné informace bývají obsaženy v dokumentacích označovaných jako “URL commands“ [4], “Web protocols“ [5], “HTTP interface“, “CGI commands“ [6], a podobně. Tyto dokumentace bývají veřejně přístupné, ovšem někteří výrobci je tají a předávají pouze svým partnerským společnostem, které provádějí implementaci a integraci do systémů třetích stran. Získání statického obrazu v podobě JPEG obrazových dat je u testovaných zařízení možné prostřednictvím URI identifikátorů uvedených v tabulce 1. Přehled všech možností práce s bezpečnostními kamerami lez získat ze specializovaných dokumentacích výrobců [4],[5],[7] a [6]. Tabulka 1: URI identifikátory pro získání statického snímku Výrobce (Model)
URI identifikátor
ACTI (TCM-5611)
http://ip_addr/cgi-bin/encoder/USER= username&PWD=password&SNAPSHOT
ArecontVision (AV10115DN)
http://ip_addr/image?res=full
Axis (M1114)
http://ip_addr/jpg/image.jpg
Sanyo (VCC-HD2500P)
http://ip_addr/onejpeg.cgi?stream=1
Sony (SNC-CH240)
http://ip_addr/onejpeg.cgi
Vivotek (IP8332)
http://ip_addr/cgibin/viewer/video.jpg
2 Metoda testování Za účelem testování byla vytvořena aplikace, která umožňuje měřit průměrný počet statických obrázků získaných během jedné sekundy, související procentuální vytížení procesoru a počet bitů přenesených po datové síti. Vytížení procesoru a počet přenesených bitů je měřeno zejména z toho důvodu, aby bylo při každém měření ověřeno, že není počet přenesených statických snímků ovlivněn nedostatečným výkonem měřícího počítače nebo propustností použité datové sítě.
53 – 1
VOL.14, NO.4, AUGUST 2012
2012/53 – 23. 8. 2012
Ověřovací aplikace, uvedená na obrázku 1, je napsána v programovacím jazyce c# a po jejím spuštění dojde k vytvoření vlákna thread (Thread thread = new Thread()). V rámci vlákna jsou do měřené bezpečnostní kamery odesílány dotazy na statický obraz. Pro odesílání a příjem dat je použita třída WebClient (using (System.Net.WebClient webClient = new System.Net.Web.Client())), která slouží k odesílání a příjmu dat ze zdroje identifikovaného prostřednictvím URI. Aktuální obraz je zachycen z datového streamu a zpracován prostřednictvím třídy Bitmap. Bezprostředně po dokončení zpracování datového streamu je celý process získávání statického obrazu v rámci vlákna opakován a to po celou dobu měření. Následným vyhodnocením je tak možné získat představu o nejvyšším možném počtu snímků, které lze během určené časové jednotky získat. [8]
Obrázek 1: Aplikace použitá k měření možností kamer 2.1 Zvolené modely bezpečnostních kamer Jako typické zástupce bezpečnostních kamer jsem zvolil výrobky společnostní ACTi (model TCM-5611), AXIS (model M1114), Sony (model CH-240), Sanyo (model VCCHD2500P) a Vivotek (model IP8332). Jedná se o často používané bezpečnostní kamery s rozlišení vyšším než 1,0MPix (každá z bezpečnostních kamer má jiné, avšak podobné rozlišovací možnosti). Do měření jsem dále zahrnul kameru ArecontVision AV10115DN, která vykazuje nadprůměrné rozlišovací možnosti (až 3648x2752pixelů). Tuto kameru nelze vyhodnocovat v souvislosti s ostatními bezpečnostními kamerami vzhledem k řádově odlišnému rozlišení a tedy množství přenášených dat a potřebě vyššího hardwarového výkonu. Jedná se ovšem o názornou ukázku obdobného chování bezpečnostní kamery a ověření charakteru kamer, kterým se tento článek zabývá. V tabulce 2 jsou uvedeny parametry testovaných bezpečnostních kamer. Jednotlivé parametry odpovídají údajům, které poskytují konkrétní výrobci v technické dokumentaci výrobků. Zpravidla se jedná o teoretické hodnoty, které jsou ve většině případů udávány při použití kompresního standardu H.264, kdy bezpečnostní kamery vykazují vyšší hodnoty snímkových frekvencí, než je možné dosáhnout v případě
formátu MJPEG, případně prostřednictvím přenosu statického obrazu prostřednictvím dotazovací metody GET. Tabulka 2: Parametry testovaných bezpečnostních kamer Model
Nativní rozlišení
Snímková frekvence při nativním rozlišení
Podpora standardů komprese
[pixelů]
[fps]
-
TCM-5611
1280x1024
18
H.264 MPEG-4 MJPEG
M1114
1280x800
30
H.264 MJPEG
IP8332
1280x800
25
H.264 MPEG-4 MJPEG
SNCCH240
1920x1440
20
M.264 MPEG-4 MJPEG
HD2500P
1920x1080
25
H.264 MJPEG
10115DN
3648x2752
7
H.264 MJPEG
Průběh samotné komunikace mezi měřenou kamerou a testovacím počítačem probíhá tak, jak je uvedeno na obrázku 2. Data jsou přenášena v rámcích o velikosti 1514 bitů, přičemž poslední rámec bývá zpravidla kratší. Síťová komunikace probíhá prostřednictvím TCP/IP a pro ověřování dat odesílaných prostřednictvím síťového rozhraní byl použit nástroj Wireshark (http://www.wireshark.org) [9], který sloužil i pro odečet počtu bitů přenesených mezi bezpečnostní kamerou a měřícím a vyhodnocovacím počítačem během měření. Měřící a vyhodnocovací PC
53 – 2
Kamera
Obrázek 2: Průběh komunikace mezi kamerou a počítačem
VOL.14, NO.4, AUGUST 2012
2012/53 – 23. 8. 2012
Pro účely měření a vyhodnocování byla použita testovací pracovní stanice s dostatečným hardwarovým výkonem, který eliminoval vliv výkonu na samotné měření parametrů bezpečnostních kamer. Konkrétně se jednalo o model HewlettPackard EliteBook 8460p osazený procesorem Intel® Core™ i7-2620M (typická pracovní frekvence tohoto procesoru je 2.70GHz) a dvěma paměťovými moduly o celkové velikosti 8 GB. Jako operační systém byl použit 64bitový operační systém Microsoft Windows 7 Professional
3 Dosažené výsledky Výsledky měření jsou uvedeny v tabulce 3, která u každého z měření udává také průměrné využití procesoru a vyžadovanou přenosovou rychlost. Tabulka 3: Výsledky měření
TCM-5611
M1114
IP8332
SNCCH240
HD2500P
Relativní kvalita obrazu
Počet snímků
Vytížení CPU (přenosová rychlost)
-
[sn./sp]
% (Mbit/s)
nízká
10,79
5,41 (1,95)
střední
7,73
3,31 (5,61)
vysoká
1,83
1,71 (16,84)
nízká
5,99
1,69 (1,09)
střední
5,62
2,06 (3,05)
vysoká
2,70
2,29 (12,42)
nízká
1,10
0,33 (2,58)
střední
2,00
0,74 (4,65)
vysoká
1,36
0,66 (4,09)
Obrázek 3: Popis obrázku
nízká
5,01
2,95 (7,97)
střední
3,84
3,84 (12,08)
vysoká
0,99
1,52 (8,18)
nízká
7,04
2,33 (3,59)
střední
6,09
2,49 (5,87)
vysoká
4,12
1,91 (4,98)
Obrázek 4 ukazuje značný rozdíl mezi minimální kvalitou obrazu jednotlivých bezpečnostních kamer a jeho eliminaci směrem k maximální kvalitě obrazu. Ve všech případech se jedná o nastavení minimální a maximální kvality obrazu tak, jak to umožňují jednotlivé kamery. Velmi názorně je tak vidět, že například ACTI TCM-5611 přistupuje k minimální kvalitě obrazu naprosto odlišně od Vivotek IP8332, přitom ale maximální kvalita obrazu je již velmi podobná. Toto koresponduje s obrázkem 3, kde kamera Vivotek poskytuje při minimální kvalitě obrazu až 12 sn./s, což je v praxi s ohledem na velmi nízkou kvalitu obrazu nevyužitelná hodnota. Minimální kvalita Maximální kvalita (výřez) (výřez)
10115DN 0,63 7,49 (25,13) Vytížení CPU a přenosovou rychlost jsem sledoval z důvodu vyloučení vlivu omezeného výkonu a nedostatečné propustnosti datové sítě. Testované bezpečnostní kamery byly umístěny do stejného datového segmentu s měřící stanicí a propojeny prostřednictvím switche CISCO SD208P. Každá z bezpečnostních kamer umožňuje nastavit míru komprese obrazových dat, s čímž souvisí parametr „relativní kvalita obrazu“ uvedený rovněž v tabulce 3. Grafické znázornění výsledků měření je uvedeno na obrázku 3. Z uvedeného grafu je patrná relativnost kvality obrazu (tedy parametru relativní kvality obrazu z tabulky 3). Při minimální kvalitě obrazu (nejvyšší míře komprese) se výkonnost jednotlivých bezpečnostních kamer zásadně liší a důvodem je zejména fakt, že každý výrobce komprimuje data
53 – 3
TCM-5611
Model
jinak razantně (viz. obrázek 4). Toto je eliminováno při nastavení nejvyšší kvality obrazu, kde je smazán rozličný přístup ke kvalitě obrazu jednotlivých výrobců (ze všech bezpečnostních kamer byla přijímána obrazová data s vizuálně velmi podobnou kvalitou). Obecně lze tedy říci, že se při předávání statického obrazu metodou GET [2] chovají všechny bezpečnostní kamery obdobně a pokud pro následné zpracování vyžadujeme kvalitní obrazová data, je možné takto získat maximálně jednotky snímků za sekundu. Jedná se, v řadě případů, o velmi limitující faktor a je proto nutné zvážit, zda je možné a vhodné k získávání dat bezpečnostních kamer takto přistupovat. Jak uvádí literatura [3], je v oblasti bezpečnostních systémů třeba pracovat se snímkovou frekvencí v závislosti na sledované scéně a s ohledem na oblast využití. JPEG je velmi oblíbeným formátem díky jednoduchosti implementace [1], [3]. Pokud ovšem ke snímkům přistupujeme metodou uvedenou v tomto článku, lze kamery v oblasti bezpečnostních systémů nasadit pouze v případě scén s pomalu se pohybujícími objekty. [3]
VOL.14, NO.4, AUGUST 2012
2012/53 – 23. 8. 2012
M1114
V opačném případě, tedy pokud je vyžadována vysoká kvalita obrazu, lze z testovaných bezpečnostních kamer jednoznačně doporučit model Sanyo VCC-HD2500P. Tato bezpečnostní kamera vykazuje při srovnatelné relativní kvalitě obrazu vyšší výkonnost při předávání statických snímků než ostatní bezpečnostní kamery podrobené měření v rámci článku.
Poděkování
IP8332
Tato práce vznikla v rámci řešení projektu Bezpečnostního výzkumu Ministerstva vnitra reg. č. VG20102014033.
Literatura
SNC-CH240
Vždy uvádějte úplný seznam použité literatury podle platných českých norem ISO 690 a ISO 690-2. Zdroje, které nejsou nikde v textu citovány neuvádějte! [1] BANERJEE, Bob. BOSCH SECURITY SYSTEMS. Video Compression for CCTV: White Paper.
2005.
Dostupné
z:
http://www2.boschsecurity.us/ip/forms/9_White% 20Paper%20Video%20Compression%20for%20
HD2500P
CCTV.pdf [2] Hypertext Transfer Protocol – HTTP/1.1 [onlinep]. 2004 [cit. 2012-08-08p]. Dostupné z: http://www.w3.org/Protocols/rfc2616/rfc2616.htm [3] AMERICAN PUBLIC TRANSPORTATION ASSOCIATION. Selection of Cameras, Digital ReObrázek 4: Porovnání relativních kvalit obrazu nastavitelných v bezpečnostních kamerách
cording Systems,: RECOMMENDED PRACTICE.
2011.
Dostupné
z:
4 Závěr
http://www.aptastandards.com/LinkClick.aspx?fil
Přístup k obrazovým datům bezpečnostních kamer prostřednictvím HTTP a metody GET je značně omezený vzhledem k dosažitelnému počtu snímků, které lze takto během jedné sekundy obdržet. Při nastavení nízké kvality obrazu dochází k nárůstu snímkové frekvence, separátním jevem je ovšem degradace obrazu. Pokud chceme s obrazovými daty dále pracovat a požadujeme jejich vysokou kvalitu, je možné takto k bezpečnostním kamerám přistupovat pouze v případě, že pracujeme maximálně se dvěma až čtyřmi statickými snímky v rámci jedné sekundy. U bezpečnostních kamer ACTI TCM-5611 a AXIS M1114 lze pracovat v dostatečném rozsahu pracovat s kompresí výsledného JPEG statického snímku, čímž lze dosáhnout vyššího množství přenesených snímků během jedné sekundy a pokud následné zpracování obrazu nevyžaduje maximální kvalitu vstupních dat (respektive minimální kompresi), lze tyto kamery doporučit pro laboratorní účely i praktické aplikace.
zCuQ%3D&tabid=326&mid=1735&language=en
eticket=cPOZ3K-
53 – 4
-US [4] MERITEE, Ando. ACTI. ACTi Camera URL Commands. 2012. Dostupné z: http://www.acti.com/getfile/KnowledgeBase_Upl oadFile/ACTi_Camera_URL_Commands_20120327_ 002.pdf [5] ARECONT VISION. Camera Web Page & Access Protocols: User manual. USA, 2011. Dostupné
z:
http://www.arecontvision.com/downloads.php VOL.14, NO.4, AUGUST 2012
2012/53 – 23. 8. 2012
[6] SONY CORPORATION. CGI Command Manual. 2010. Dostupné z: http://pro.sony.com.cn/productinfo/vs/downloads/ SNC_5thGen_CGIManual180EN.pdf [7] VAPIX: AXIS API. [online]. [cit. 2012-08-08p]. Dostupné z: http://www.axis.com/techsup/cam_servers/dev/c am_http_api_index.php [8] ECKEL, Bruce. Myslíme v jazyku C. Vyd. 1. Praha: Grada, 2000, 554 s. ISBN 80-247-9009-2. [9] Wireshark User’s Guide for Wireshark 1.9 [online].
[cit.
2012-08-08p].
Dostupné
z:
http://www.wireshark.org/docs/wsug_html_chunk ed/
53 – 5
VOL.14, NO.4, AUGUST 2012