Obecnie standardem w rejestratorach stała się kompresja H.264. Urządzenia z wyższej półki pozwalają użytkownikowi na coraz większą kontrolę nad stopniem kompresji, oraz nad parametrami strumienia wideo odbieranego przez sieć. Aby zrozumieć, jaki wpływ mają zmiany, jakie wolno wprowadzić, należy zrozumieć ogólne zasady działania tej metody kompresji.
Ogólna zasada działania kompresji H.264
H.264 to obecnie najpopularniejszy i najwydajniejszy standard kompresji. Pierwsza wersja wypuszczona została w 2003 roku. H.264, zwany też MPEG-4 pt. 10 lub AVC, miał pierwotnie służyć do przesyłu danych wideo po sieci, takich jak konferencje, filmy, streaming. Znalazł również zastosowanie przy kompresji filmów w wysokiej rozdzielczości, m.in. na dyskach BlueRay.
H.264 zawdzięcza swoją wydajność wykorzystaniu metod przewidywania i estymacji wybranych klatek obrazu. Normalny, niezakodowany strumień wideo składa się z klatek obrazu wyświetlanych jedna po drugiej w odpowiedniej sekwencji w czasie.
Normalny strumień wideo bez kompresji
W H.264 wyróżnić możemy 3 rodzaje ramek: I – Intra Coded, P – Predictive, B – Bi - predictive. Ramki I zawierają kompletne informacje o danym obrazie, bez kodowania, ramki P niosą w sobie informacje o zmianach pomiędzy sąsiednimi ramkami P lub I, a właściwy obraz tworzony jest na podstawie tych informacji, ramki B są uzupełnieniem informacji o zmianach obrazu w czasie i mają za zadanie upłynnić przejście pomiędzy ramkami P i P, I i P. Rozmiar poszczególnych ramek zależy od wielu czynników, lecz przyjąć można, że ramki P stanowią około 60% rozmiaru ramek I, a ramki B mogą mieć nawet tylko 10% ich objętości.
Kodowany strumień wideo.
Dekodowany – wyświetlany strumień wideo.
Algorytm H.264 jest skomplikowany. Występuje kilka rodzajów i stopni kompresji a rozkodowanie strumienia wymaga dość dużej mocy obliczeniowej. W urządzeniach takich jak rejestratory cyfrowe interfejs użytkownika został przystosowany tak, aby konfiguracja była prosta i szybka. Pamiętać należy, że:
- im więcej ruchu w polu widzenia kamery tym więcej danych jest potrzebnych do jego opisu,
- im rzadziej występuje ramka I, tym mniej odwołań do rzeczywistych obrazów,
- informacje o obrazie dzielone są przed wysłaniem w sieć na fragmenty i umieszczane w pakietach, których nagłówki również wpływają (niekiedy znacznie) na ilość transferowanych danych.
Kontrola H.264 w praktyce
Poniżej omówione zostaną najczęściej spotykane parametry, jakie użytkownik może wybrać oraz regulować. Dla przykładu zostanie wykorzystany rejestrator DS-8108HDI-S firmy Hikvision, jednak poniższy opis z powodzeniem można odnieść do innych rejestratorów pracujących w oparciu o kompresję H.264.
Dla przykładowego rejestratora Hikvision możliwości ustawienia parametrów obrazu wyglądają następująco (zdalna konfiguracja urządzenia przy pomocy oprogramowania iVMS4000):
Typ strumienia – w większości rejestratorów do sieci wysyłane może być kilka niezależnych strumieni. Jeśli przepustowość łącza wychodzącego jest zbyt mała lub download w miejscu monitorowania jest niewystarczający, wybrać można strumień dodatkowy o mniejszych wymaganiach łącza. Strumień główny jest utożsamiany z ustawieniami rejestracji lokalnej w urządzeniu.
Typ strumienia – Video lub Audio i Wideo. Dzięki tej opcji limitować można wysyłanie dźwięku z rejestratora w sieć. Opcje ustawień nagrywania dźwięku są dostępne jedynie z poziomu menu lokalnego. Strumień audio jest znikomo mały w porównaniu do potrzeb przepustowości sieci, jakie wymaga strumień wideo, dlatego tę opcję należy traktować jedynie jako dodatkowe zabezpieczenie przed wysyłaniem niepożądanych danych.
Rozdzielczość – ilość pikseli dla jednej klatki obrazu. We współczesnych rejestratorach cyfrowych zwykło się podawać ją w formie akronimu nazwy. Najpopularniejsza z nich to:
- CIF (Common Intermediate Format): 352x288 (0.1 MPix)
Pozostałe nazwy tworzone są na podstawie wielokrotności ilości pikseli dla danego obrazu:
- 2CIF: 704x288 (202752 piksele – 0.2 MPix)
- DCIF (Double CIF): 528x384 (202752 piksele – 0.2 MPix). Identyczna ilość pikseli jak w 2CIF, ale inny format obrazu.
- 4CIF: 704x576 (0.4 MPix) – obecnie uważany za maksymalną rozdzielczość dla analogowej CCTV.
- D1: 720x576 – często mylona i zamiennie stosowana z nazwą 4CIF.
Rozdzielczość D1 ma swoją genezę wywodzącą się z dokumentu wydanego przez ITU-R (International Telecommunication Union - Radiocommunication Sector) o zwyczajowej nazwie Rec.601 (BT.601). Dokument ten wydany w 1982 roku miał za zadanie określać metody cyfryzacji analogowego sygnału wideo z przeplotem. Jednym z określonych parametrów była macierz YCrCb definiująca informacje o obrazie (składowa limunancji i dwie składowe chrominancji obrazu w odniesieniu do kolorów niebieskiego i czerwonego). Standard definiował, że dla każdej linii obrazu niesione będzie 720 próbek informacji luminancji i 320 chrominancji. Rozdzielczość D1 analogowej telewizji przemysłowej dla systemu PAL wykorzystywana w urządzeniach (z początku Sony i Bosch) została określona jako D1: 720x576 pikseli. Z czasem popularność zyskała rozdzielczość 4CIF.
Warto w tym miejscu wspomnieć o kamerach analogowych CCTV, których jednym z parametrów jest ilość linii pionowych TVL. Często mylony jest on z rozdzielczością. Kamery wysyłają sygnał analogowy w systemie PAL, który określa sposób przesyłu danych, między innymi metodę przenoszenia informacji o składowych barwy (czerwonej i niebieskiej). Najpopularniejszym dla tego systemu jest sygnał składający się z 625 linii poziomych z przeplotem, generowanych z częstotliwością 50Hz, z czego aktywnych jest w sumie 576. Determinuje to, między innymi, czas generowania jednej linii (częstotliwość 15,625kHz) oraz ilość klatek na sekundę (25). W systemie PAL przesłać można obraz o innych, wyższych parametrach, lecz ze względu na komplikacje techniczne i prostsze alternatywne rozwiązania, idea ta nie weszła do powszechnego użytku.
576 linii poziomych generowanych w najpopularniejszej formie sygnału analogowego PAL w praktyce jest w stanie oddać mniejszą ilość szczegółów obrazu. Wynika to z ograniczeń dokładnego odzwierciedlenia rzeczywistego obiektu przez urządzenia cyfrowe - szczegóły obrazu nie leżą idealnie w punktach skanowania. Miarą rzeczywistej ilości TVL kamery (zarówno poziomych jak i pionowych) jest umiejętność odróżnienia określonej ilości czarnych i białych linii.
Aby teoretycznie określić rzeczywistą liczbę linii poziomych, należy przemnożyć ich ilość przez współczynink Kella, który standardowo został określony na poziomie 0,7. Ostatecznie otrzymujemy wartość 403 HTVL (poziomych linii obrazu). Oznacza to, że patrząc na obraz z kamery jest się w stanie odróżnić maksymalnie 400 poziomych linii (na przemian 200 czarnych oraz 200 białych).
W przypadku linii pionowych nie można przyjąć żadnej wartości pozwalającej na algebraiczne wyznaczenie ich ilości. Liczba ta jest bezpośrednio związana z ilością informacji niesioną przez każdą generowaną linię poziomą. Najprostszym, a zarazem najbardziej miarodajnym sposobem sprawdzenia VTVL jest analiza obrazu planszy testowej definiowanej przez EIA-1956. W praktyce ilość linii pionowych, tak samo jak w przypadku linii poziomych, oznacza ilość możliwych do odróżnienia na przemian położonych czarnych i białych linii biegnących równolegle do bocznej krawędzi ekranu. Różnica natomiast polega na odcinku pomiarowym - mierzy się je na takiej samej długości, jak pionowa krawędź obrazu. Ponieważ dla analogowej CCTV standardem wciąż jest format 4:3, liczba linii pionowych dla kamery oznacza ich ilość na 3/4 szerokości obrazu.
Produkowane są kamery o różnej ilości TVL. Ich ilość wpływa na szczegółowość obrazu. Sygnał wideo zwykle trafia do rejestratora cyfrowego, który obraz analogowy zamienia na cyfrowy – wówczas dopiero można mówić o rozdzielczości. Kamery o większej ilości TVL odpowiadającej liczbie pikseli dla rejestrowanej rozdzielczości zapewniają większą ilość danych potrzebną DVR-owi do konwersji analog-cyfra, przez co materiał wideo jest lepszej jakości niż z kamer o mniejszej ilości TVL. Przykładowo: kamera 540TVL na całej szerokości obrazu jest w stanie odróżnić 4/3 * 540 = 720 linii pionowych.
Przepływność (bitrate) – zmienna lub stała. Rejestrator potrafi wykryć parametry sygnału analogowego z kamer i dopasować stopień kompresji urządzenia (zwiększyć ilość bitów definiujących jedną sekundę nagrania), przez co obraz oglądany przez sieć, a także rejestrowany, jest wyższej jakości.
Maks. przepływność (maksymalny bitrate) – określa jaką maksymalnie ilość bitów na sekundę powinien osiągnąć kompresowany strumień obrazu. Wartość ta, z racji charakteru kompresji H.264, jest szacunkowa i może zostać przekroczona. Część urządzeń nie pozwala na ustawienie zbyt niskiej wartości i próg minimalny jest regulowany automatycznie.
Ilość klatek na sekundę określa prędkość zapisu. Dla ludzkiego oka obraz płynny to 25 kl./s. Jednak urządzenia mogące zapisać tak płynny obraz z 8 lub 16 kanałów jednocześnie, są drogie. Stosowanie ich ma uzasadnienie w przypadku, gdy potencjalne rejestrowane sytuacje charakteryzować się mogą wysoką dynamiką i zmiennością sceny. W większości przypadków parametr ten może być niższy, często okazuje się że nawet 6kl./s jest wystarczające. Istotna w tym przypadku jest prędkość migawki kamery, bowiem każda klatka obrazu powinna być ostra, aby umożliwiła poprawną identyfikację osób i obiektów.
Jakość wideo to parametr aktywny wówczas, gdy wybrana jest opcja VBR. Im wyższa jakość wideo tym niższy priorytet zachowania większej kompresji obrazu. W przypadku monitoringu CCTV rejestratory dla opcji VBR automatycznie dostosowują jakość obrazu i nie pozwalają na jej zejście poniżej fabrycznie ustawionego progu.
Typ klatek, odstęp ramek I – ustawienia strumienia. Parametry te odnoszą się do rodzaju strumienia transmitowanego przez sieć z rejestratora do PC. Część rejestratorów pozwala na konfigurację tego parametru. Liczba ramek typu I wpływa na jakość wideo, lecz jednocześnie zmienia zapotrzebowanie na moc obliczeniową potrzebną do dekodowania strumienia przez komputer odbiorcy. W większości przypadków ustawienia te są zastrzeżone i strumień jest automatycznie generowany przez urządzenie.
Konfiguracja parametrów do potrzeb indywidualnych
Monitoring montowany może być w różnej lokalizacji, dlatego każdorazowo parametry kodowania powinny być ustawiane dla rzeczywistego obrazu. Obraz wyświetlany przez rejestrator 'na żywo' nie jest skompresowany dlatego efekt zmian parametrów zauważyć można przy transmisji przez sieć lub odtwarzając nagrania.
Najczęściej początkujący użytkownicy zadają dwa pytania:
- Jak ustawić parametry wideo aby jakość była jak najlepsza i optymalnie dostosowana do przepustowości sieci?
- Jak duże łącze potrzebuję, aby zdalnie móc korzystać z rejestratora?
Pierwszym kryterium, jakim należy się kierować przy ustawianiu parametrów rejestratora, jest jakość nagrywanego materiału. Monitoring zapisywać ma dane, które służyć mają do późniejszej identyfikacji osób i zdarzeń. W drugiej kolejności pod uwagę brać należy ciągły, zdalny nadzór, gdyż do tego celu nie jest konieczna najwyższa jakość wideo. Konfiguracja parametrów obrazu pod kątem transmisji w sieci powinna być zawsze sprawą drugorzędną.
Rozdzielczość powinna być dobrana zależnie od sceny, jaką widzi kamera. Według normy EN-50132-7 obiekt kontrolowany zajmować powinien 5% pola widzenia kamery, obiekt rozpoznany 50%, natomiast w celu poprawnej weryfikacji osoby i jej identyfikacji, powinna ona zajmować 120% kadru. Jeśli ułożenie kamery i posiadany przez nią obiektyw nie pozwala na tak dokładne obserwowanie obiektów, rozdzielczość dla tych kamer można z powodzeniem zmniejszyć.
Ilość klatek na sekundę, jaką wybrać powinien użytkownik powinna być uzależniona od szybkości zmian zdarzeń widzianych przez kamerę. Zwykle jest to wartość maksymalna oferowana przez rejestrator przy najwyższej rozdzielczości.
Przykładowe zastosowanie różnych prędkości nagrywania:
6kl./s | 12kl./s | 25kl./s |
|
|
|
Bitrate oraz ustawienia odstępu ramek typu I są ze sobą ściśle związane. W związku z tym, że obraz w kompresji H.264 składa się z klatek kompresowanych oraz z klatek generowanych na podstawie (między innymi) wektorów przemieszczeń, należy pamiętać, że ustawienia kompresji zależeć muszą od dynamiki obrazu. Niekiedy ilość informacji potrzebna do wygenerowania ramki P lub B jest na tyle duża, że przekracza ilość danych opisujący właściwy obraz. Jednocześnie zbyt częste wyświetlanie ramki I, poza utratą wysokiego stopnia kompresji, rzutuje na jakość obrazu.
Przykładem mogą być poniższe zdjęcia:
Oba obrazy pochodzą z kamery megapikselowej. Oba mają tą samą rozdzielczość 1600x1200, przy ustawionym tym samym bitracie (3Mb/s), oraz tej samej ilości klatek na sekundę (25kl./s). Zdjęcie pierwsze przedstawia obraz z ustawionym powtarzaniem ramki I co 25 klatek, czyli raz na sekundę. Zdjęcie 2 pokazuje obraz z kamery przy ramce I ustawionej co drugą klatkę. Obraz na Zdjęciu 2, mimo iż generowany na podstawie większej ilości danych z klatek w pełni transmitowanych jest gorszej jakości – widać smużenie i piksele. Ponadto wykorzystywany transfer danych z sieci wzrósł: dla obrazu ze Zdjęcia 1 wynosił on 3,5Mb/s, podczas gdy dla obrazu ze Zdjęcia 2 aż 5.8Mb/s.
Optymalnym ustawieniem częstotliwości pojawiania się ramek I jest 0,5-1Hz. Ostatecznie wartość należy dobrać oceniając jakość właściwego obrazu i znając ilość klatek na sekundę.
Bitrate odnosi się zarówno do transferu danych przez sieć jak i do stopnia kompresji zapisywanego lokalnie strumienia wideo. Ustawienia bitrate'u dla tych samych rozdzielczości mogą być inne, jeśli kompresowany obraz jest mniej lub bardziej szczegółowy.
Na Zdjęciach 3 i 4 przedstawione są obrazy z kamer nagrane w rozdzielczości 4CIF, 12kl./s. Bitrate dla wideo przedstawionego na Zdjęciu 3 ustawiony został na 256kb/s, na Zdjęciu 4 na 896kb/s. Obserwowanie sceny o średniej dynamice ruchu, gdzie obiekty są nieruchome lub ruch jest niewielki, nie mają wysokich wymagań. Jednocześnie zajętość pasma przez obraz ze Zdjęcia 1 to 290kb/s, a ze Zdjęcia 2 970kb/s.
Na Zdjęciu 5 zauważyć można efekt rozmazania obrazu w miejscu, gdzie występuje ruch. Spowodowane jest to zbyt niską wartością bitrate'u – obraz dekompresowany nie posiada dostatecznej ilości danych do wygenerowania klatek przewidywanych w zadanej rozdzielczości, dlatego estymuje wartości pobrane z otoczenia obszaru.
Dla obszarów, gdzie wystarczająca jest kontrola i detekcja ruchu, zalecane jest ustawienie stosunkowo niewielkiego bitrate'u. Pamiętać należy jednak, iż zbyt niska wartość tego parametru jest niewskazana. Rozmyty, niewyraźny obraz nie jest przydatny.
Obszary wymagające wysokiego bitrate'u to nie tylko te o wysokiej dynamice, ale również sceny statyczne, gdzie konieczna jest identyfikacja i rozpoznanie tekstów, obiektów, osób. Na Rysunkach 6 i 7 przedstawione są obrazy z kamer skierowanych na plansze testowe oraz na pilota od rejestratora.
Ustawienia wideo są dokładnie takie same jak dla Zdjęć 3 i 4 (odpowiednio dla 6 i 7). Różnice w odczycie szczegółów są jednak znaczące. Na Zdjęciu 1 nie widać podpisów pod klawiszami funkcyjnymi pilota, linie na planszy testowej, jak i też niektóre znaki na tablicy są niewyraźne, zamazane i mogą został łatwo pomylone. Na jednolitym tle podczas odtwarzania pojawia się szum. Zajętość sieci jest taka sama, t.j. 3,5Mb/s, i odpowiednio 5.8Mb/s.
Obraz statyczny ma jednak inną zaletę – można zmniejszyć ilość klatek na sekundę, oraz jednocześnie odpowiednio bitrate, przez co otrzymujemy identycznej jakości obraz, a transfer przez sieć zostaje odpowiednio zmniejszony.
Wszystkie operacje regulacji bitrate'u, rozdzielczości i ilości klatek na sekundę są bezpośrednio związane z możliwym czasem archiwizacji przy określonej przestrzeni dyskowej.
Zalecane wartości bitrate'ów dla rozdzielczości i szybkości oraz szacowany rozmiar nagrania.
25 kl./s | 12 kl./s | 6 kl./s | |
1080P (1920x1080) | 3 Mb/s - 9 Mb/s | 4096 kb/s | 3072 kb/s |
32 - 10 dni | 23 dni | 31 dni | |
UXGA (1600x1200) | 3 Mb/s - 9 Mb/s | 4096 kb/s | 3072 kb/s |
32 - 10 dni | 23 dni | 31 dni | |
720P (1280x720) | 2,5 Mb/s - 6 Mb/s | 1792 kb/s | 1536 kb/s |
47 - 16 dni | 54 dni | 63 dni | |
4CIF (704x576) | 1536 kb/s - 2048 kb/s | 896 kb/s | 640 kb/s |
63 - 47 dni | 107 dni | 151 dni | |
2CIF (704x288) | 768 kb/s - 1024 kb/s | 448 kb/s | 320 kb/s |
126 - 94 dni | 215 dni | 303 dni | |
CIF (352x288) | 512 kb/s - 768 kb/s | 320 kb/s | 160 kb/s |
189 - 126 dni | 303 dni | 606 dni | |
QCIF (176x144) | 160 kb/s - 224 kb/s | 96 kb/s | 80 kb/s |
606 - 433 dni | 1011 dni | 1213 dni |
Podane zostały także czasy nagrań dla jednego kanału o podanej rozdzielczości, prędkości nagrywania i bitracie, dla 1TB wolnej pamięci. Wartości ze względu na rodzaj kompresji należy traktować orientacyjnie.
Chcąc podglądać obraz w najwyższej oferowanej przez urządzenie jakości w sieci, należy uwzględnić sumarycznie wartości dla każdej z kamery. Powyższe dane tyczą się strumienia wideo, który do przesyłu w sieci musi zostać jeszcze dodatkowo podzielony na pakiety, stąd rzeczywisty wymagany transfer należy szacować jako 120% otrzymanego wcześniej. Tak dla 16 kamer nagrywających w rozdzielczości 4CIF z prędkością 12kl./s i bitrate'm 640kb/s każda, wymagany transfer to:
1.2 * 16 * 640 = 12288 [kb/s] co szacować można na poziomie 13 Mb/s
Łącza z download'em o takiej prędkości są standardem nawet w instalacjach domowych, ale rzadko spotykane są łącza o takiej prędkości upload'u.
Zwykle podgląd przez sieć realizuje się wykorzystując strumień dodatkowy, o niższych parametrach. Jeśli wyświetli się obraz z 16 kamer (w klasycznym podziale 4 x 4), nawet na ekranie w rozdzielczości FullHD 1920x1080, to jedno okno będzie miało rozdzielczość 480x 270. Przesyłanie rozdzielczości 4CIF nie ma sensu.
Oczywiście istnieją metody alternatywne – dla rutynowego monitorowania obszaru przesyła się obraz w strumieniu dodatkowym: zwykle CIF@6kl./s, co w praktyce oznacza zapewnienie łącza upload dla rejestratora:
1.2 * 16 * 160 = 3072 [kb/s] czyli około 3 Mb/s
W razie konieczności można zamknąć podgląd ze wszystkich 16 kamer i uruchomić przekaz w strumieniu głównym jedynie dla wybranych kilku punktów wizyjnych.
Ograniczenia te dotyczą jedynie sieci WAN. W sieciach LAN zwykle stosuje się standard FastEthernet (100Mbit/s) lub szybszy, tak więc należy jedynie zwracać uwagę na obciążenie ruchu sieciowego pod kątem innych lokalnych zastosowań.
Ograniczenia te dotyczą jedynie sieci WAN. W sieciach LAN zwykle stosuje się standard FastEthernet (100Mbit/s) lub szybszy, tak więc należy jedynie zwracać uwagę na obciążenie ruchu sieciowego pod kątem innych lokalnych zastosowań.
UWAGA: należy pamiętać, że dla rejestratora istotna jest prędkość wysyłania danych, czyli UPLOAD, a dla klienta czyli odbiorcy sygnału wideo istotny jest parametr DOWNLOAD czyli prędkość pobierania.
Podgląd przez telefon komórkowy
Możliwość zdalnego podglądu stała się standardem w CCTV od momentu pojawienia się na rynku telefonów z systemami operacyjnymi. Instalowanie aplikacji oraz możliwość ich tworzenia w prostych językach programowania sprawiła, że na rynku znajdziemy rozwiązania dedykowane, darmowe, jak i komercyjne, zaawansowane aplikacje.
Dla przeciętnego użytkownika przy podglądzie przez telefon znaczenie ma odpowiedź na dwa pytania:
- Jak szybkiego łącza będę potrzebował?
- Jak wiele danych zostanie przesłanych, gdy podglądany będzie jeden kanał?
Z rejestratora, na telefon komórkowy, wysyłany jest zwykle obraz ze strumienia dodatkowego. Aplikacje w zależności od systemu operacyjnego telefonu, jego wersji oraz od modelu rejestratora pozwalają na odbieranie strumienia z różnej ilości kamer jednocześnie.
Rozdzielczość strumienia pomocniczego zwykle nie może być większa niż CIF. Pozwala to jednak na przesył obrazu o większej płynności. Obrazem o najlepszym stosunku zajętości pasma do jakości obrazu jest CIF@12kl./s przy strumieniu 320kb/s. Podglądając online jeden kanał takich parametrach należy liczyć się z transferem na poziomie 2.5MB/minutę. W tym przypadku wymagane jest połączenie z siecią 3G (UMTS) w celu zapewnienia odpowiedniej prędkości pobierania danych. Możliwe jest oczywiście ograniczenie strumienia do minimalnego poziomu (np. QCIF@6kl./s 64kb./s). Wówczas połączenie 2.5G (EDGE) zapewnić może wystarczający transfer pozwalający na poglądową obserwację.
Download: