Strona główna

Opis ćwiczenia


Pobieranie 43.37 Kb.
Data18.06.2016
Rozmiar43.37 Kb.
Cyfrowy system telewizji przemysłowej

Opis ćwiczenia

Telewizja przemysłowa staje się podstawowym elementem systemu ochrony ludzi i mienia. Monitorowanie wielu obszarów jest teraz możliwe przy użyciu kilku lub kilkunastu kamer i jednego tylko człowieka – operatora, którego zadaniem jest obserwacja strzeżonego obiektu i ewentualne koordynowanie akcji interwencyjnej.

CCTV – to powszechna nazywa telewizji przemysłowej, co z języka angielskiego oznacza zamkniętą sieć telewizji lokalnej (closed circuit television). Poziom „zamknięcia” tego systemu jest bardzo różny; od najprostszego układu kamera–monitor do rozległych sieci mogących zawierać setki kamer i dziesiątki monitorów na jednym obiekcie, podłączonych dodatkowo do głównego centrum sterowania monitorującego najważniejsze obszary z kilku placówek. Zawsze jednak musi być wyraźna granica takiego układu, gdyż ze względów bezpieczeństwa nie dopuszcza się możliwości podłączenia pod system osób postronnych i oglądania przez nie obiektów monitorowanych.

Obecnie do telewizji przemysłowej coraz powszechniej wprowadzane są techniki cyfrowe dające zwiększenie funkcjonalności i pozwalające na integrację różnych systemów.

Era cyfrowych systemów monitorowania niesie niepodważalne korzyści:


  • Począwszy od kamery cyfrowej, gdzie układ DSP (digital signal processing) odpowiada m.in. za automatyczne i natychmiastowe dopasowanie parametrów kamery do zmieniających się warunków otoczenia, co owocuje poprawnym obrazem przy nawet szybko zmiennym oświetleniu.

  • Możliwy do uzyskania sygnał cyfrowy na wyjściu kamery będzie dawał się przesyłać w każdego rodzaju sieci teleinformatycznej, nawet sieci Internet, dając nieograniczony zasięg takiego systemu.

  • Cyfrowa rejestracja jest niewątpliwie przyszłością w dziedzinie archiwizacji, bo poza mniejszymi gabarytami nośników daje idealną jakość obrazu niezależnie od wielokrotności jego odtwarzania, czego nie można powiedzieć o popularnych do niedawna taśmach magnetowidowych.

  • Skończywszy na cyfrowej syntezie obrazu pozwalającej wyświetlać kilka obserwowanych obiektów na jednym monitorze, widzimy iż pełne wkroczenie techniki cyfrowej do systemów CCTV jest kwestią niedalekiej przyszłości.

Przedstawiony w tym ćwiczeniu system monitoringu, opiera się o komputer PC i odpowiednią kartę realizującą funkcje odbioru sygnału z kamer, podziału obrazu, zapisu na dysku twardym i wyświetlaniu na ekranie monitora. Konstrukcja taka może z powodzeniem zastąpić każdą zrealizowaną w standardowy sposób (rysunek 1), dając dodatkowo wiele możliwości związanych z szerokim zastosowaniem komputerów. Możliwy staje się dozór obiektów z dowolnie odległych miejsc za pośrednictwem Internetu. W zależności od rozbudowania karty i, co za tym idzie, wzrostu jej kosztów, udostępniane są również wejścia alarmowe i styczniki dowolnie programowane ze stanowiska operatora lub za pośrednictwem sieci.





Rysunek 1 Sposób zastąpienia standardowego rozwiązania systemu CCTV
Jednym z najważniejszych elementów cyfrowej telewizji przemysłowej jest zastosowana w nim metoda kompresji danych, gdyż cyfrowy sygnał niosący dane o obrazie wymaga ogromnych przestrzeni dyskowych i przepustowości mediów transmisyjnych (rysunek 2).


Rysunek 2 Porównanie ilości danych potrzebnych do zapisu sekwencji video
Pojęcie „kompresja danych” łączy w sobie dwa podstawowe zagadnienia z zakresu cyfrowej obróbki informacji: kodowanie i dekodowanie. Kodowanie polega na zmniejszeniu ilości bitów potrzebnych do zapisu informacji, w wyniku czego powstaje jej skompresowana reprezentacja. Z reprezentacji tej, w wyniku dekodowania, otrzymujemy wcześniej zakodowaną informację, która powinna być możliwie najbardziej zbliżona do oryginału. W zależności od tego, jak bardzo dane po procesie kodowania i dekodowania są zgodne z danymi przed kompresją, wyróżniamy dwa typy kompresji, różniące się przede wszystkim sposobem rekonstrukcji; jest to kompresja bezstratna i kompresja stratna.

Różnice między kompresją bezstratną i stratną łatwo jest zrozumieć. Pierwsza z nich wymaga od algorytmu kodowania i dekodowania takiej rekonstrukcji, która jest identyczna z oryginalną informacją poddawaną kompresji. Kompresja ta stosowana jest głównie w przypadku tekstów, baz danych czy plików programów, w których dokładność zapisu i odczytu informacji ma duże znaczenie. Są jednak sytuacje, w których gwarancja uzyskania identyczności oryginału z obrazem po rekonstrukcji nie jest konieczna – używamy wtedy algorytmów kompresji stratnej. Charakterystyczne dla nich jest dopuszczanie możliwości utraty pewnych informacji, co powoduje, że dane po dekompresji są mniej lub bardziej zniekształcone. Zaletą tego sposobu jest niewątpliwie lepszy stopień kompresji danych, co oznacza większą redukcję ich rozmiaru w porównaniu z kompresja bezstratną. Technikę stratną stosuje się przede wszystkim do kompresowania danych mających postać sygnału analogowego, takiego jak video lub mowa. Zniekształcenia będące wynikiem rekonstrukcji takich danych metodą kompresji stratnej są nieuniknione, jednak nie powodują znaczących przekłamań.

Tabela 1 przedstawia najważniejsze metody i standardy kompresji bezstratnej. Kodowanie entropowe polega na używaniu kodów o zmiennej liczbie bitów- jest to kodowanie o zmiennej długości słowa (VLC, ang. Varible lenght coding). Kodowanie predykcyjne jest kodowaniem wewnątrzobrazowym, polegającym na przewidywaniu wartości kolejnego punktu na podstawie punktów sąsiednich. Kodowanie ciągów bazuje na zapisie analizowanego ciągu symboli (bitów) w postaci pary , gdzie „v” oznacza symbol (wartość bitu) a „r” liczbę jego powtórzeń. W kodowaniu arytmetycznym słowa kodowe mają różną długość i są przypisywane do ciągów symboli o zmiennej długości. W metodzie słownikowej tworzy się listę najczęściej występujących wzorców i koduje się je za pomocą indeksów na tej liście. Zależnie więc od rodzaju informacji jaką chcemy kompresować musimy dobrać odpowiedni rodzaj kodera.

W przypadku kodowania obrazów czy dźwięków, bitowa identyczność rekonstrukcji i oryginału nie jest wymagana (wymaga się np. tylko wizualnej zgodności) - możemy więc posłużyć się algorytmem kompresji stratnej, który pozwoli znacznie bardziej zmniejszyć rozmiar skompresowanego pliku. Najczęściej stosowane standardy kompresji stratnej przedstawia schemat 1.


Tabela 1 Rodzaje kompresji bezstratnej

RODZAJ

METODA

OPIS

ZASTOSOWANIE

Huffman

kodowanie entropowe

Dane traktowane są jako strumień bitów. Wynikiem kodowania jest również strumień bitów, zawierający kody wejściowych obiektów reprezentowane jako ciągi bitów zmiennej długości. Poszczególne kody wyłuskujemy za pomocą tzw. drzew binarnych.

Metoda ta często wykorzystywana jest jako kodowanie uzupełniające. Korzystają z niej np. programy ARJ czy PKZIP. Wykorzystuje się ją czasem na niektórych etapach kompresji stosowanej w plikach JPG.

Calic

kodowanie predykcyjne

Jest to metoda, która wykorzystuje otoczenie kodowanego piksela zarówno do ustalenia rozkładu prawdopodobieństwa, jak przewidywania kolejnego piksela. O tym, który z sąsiadów ma wartość najbliższą wartości danego piksela decyduje lokalna struktura obrazu.

Stosowany w szczególności przy kodowaniu obrazów z wieloma odcieniami szarości.

LZW

Lempel-Ziv-Welch


(rys.4)

kodowanie entropowe, słownikowe

Algorytm koduje powtarzające się wzory w taki sposób, że ciągi w skompresowanym pliku mają te same kody. Zaletą jest niewątpliwie fakt, że tabela kodów nie musi być zapisana w tym samym pliku, co plik kompresowany.

Używany przede wszystkim przez programy kodujące UNIX’a, takie jak ARC czy PAK oraz przy kodowaniu obrazów formatu .gif i danych przesyłanych przez modem.

JBIG

Joint BI-level Image Processing Group



kodowanie arytmetyczne

Kontekst symbolu wykorzystywany jest do ustalenia prawdopodobieństwa, według którego symbol jest kodowany. Jeżeli większość pikseli wokół konkretnego piksela jest biała, to z dużym prawdopodobieństwem dany piksel też będzie biały. Jeśli otoczenie to jest czarne, to dany piksel prawdopodobnie jest również czarny. Jest to idealna sytuacja do kodowania arytmetycznego.

Kodowanie te stosowane jest w standardzie kodowania obrazów binarnych.

JPEG-LS

Joint Photographics Experts Group



kodowanie predykcyjne

Standard JPEG-LS jest bardzo podobny do algorytmu Calic. Konteksty w tej metodzie kompresji odpowiadają różnym kombinacjom wartości pikseli w sąsiedztwie piksela kodowanego.

Kodowanie obrazów statycznych o dużej skali kolorów lub odcieni szarości.

RLE

Run Lenght Encoding


(rys.3)

kodowanie ciągów

Jeśli dane nie są całkiem chaotyczne, to istnieje szansa, że piksel będzie się powtarzał wiele razy pod rząd. Wstawiamy zatem w ciąg pikseli dwa rodzaje znaczników: jeden mówiący o tym, ile razy będzie się powtarzał piksel, drugi zaś informujący jak ten powtarzany piksel ma wyglądać.

Z uwagi na to, iż kodowanie przebiega w liniach poziomych, najlepiej stosować algorytm do kompresji obrazów z poziomymi liniami.


Schemat 1 Rodzaje kompresji stratnej

Standard JPEG opublikowany został w 1991 roku. Jest on przeznaczony do kodowania obrazów statycznych; usuwa nadmiar informacji drogą kodowania wewnątrzobrazowego. Istnieją dwie podstawowe wersje JPEG: stratna i bezstratna (JPEG LS opisany wcześniej). Kodowanie stratne JPEG opiera się na dyskretnej transformacie kosinusowej (DCT), dzięki czemu pozwala na duży stopień kompresji (nawet do 20-krotnego zmniejszenia rozmiaru kodowanego pliku). Kosztem tak dużego współczynnika kompresji jest zniekształcenie obrazu po rekonstrukcji.


Rysunek 3 Zasada kodowania metodą RLE


Rysunek 4 zasada kodowania metodą LZW

Algorytm JPEG dzieli obraz na bloki o rozmiarze 8x8=64 pikseli – są to macierze próbek obrazu pierwotnego. Bloki te podlegają kompresji przy użyciu transformacji DCT, która przekształca dany blok w ciąg 64 liczb. Wynikiem tego przekształcenia jest macierz o wymiarze 8x8, składająca się z liczb nazywanych współczynnikami DCT. Macierz ta wymaga jednak więcej pamięci niż macierz próbek obrazu pierwotnego. W celu zredukowania liczby bitów potrzebnych do zapisu macierzy współczynników DCT, zostaje ona skwantowana za pomocą tabeli kwantyzacji składającej się również z 64 liczb. Kwantyzacja ta polega na przeskalowaniu każdego współczynnika DCT poprzez podzielenie go przez określony współczynnik kwantyzacji i zaokrągleniu go do liczby całkowitej. W ten sposób odrzucamy pewną ilość informacji jednocześnie osiągając pewną kompresję. Powstały po kwantyzacji ciąg liczb poddawany jest kodowaniu – w JPEG na tym etapie kompresji stosuje się kodowanie Huffmana lub kodowanie arytmetyczne. Powstałe w ten sposób dane stanowią skompresowany plik źródłowy o rozmiarze do 20-stu razy mniejszym niż oryginał. Kompresję stratną JPEG stosuje się przede wszystkim do kodowania zdjęć fotograficznych i obrazów graficznych.

Kompresja danych video posiada wiele cech wspólnych z metodami kompresowania obrazów statycznych; plik video jest bowiem ciągiem obrazów wykonanych blisko siebie w czasie, co oznacza, że w większości przypadków różnica pomiędzy sąsiednimi obrazami jest niewielka. Fakt podobieństwa następujących po sobie obrazów wykorzystywany jest w kompresji video, która koncentruje się na różnicach pomiędzy nimi.

Podejście do kompresji video jak do kompresji sekwencji obrazów ze składową czasową, jest jednak obarczone pewnymi ograniczeniami. Obrazów ruchomych nie postrzegamy w taki sam sposób, jak obrazy statyczne. Ruch obrazu może zamaskować pewne artefakty kodowania, które w obrazie statycznym byłyby wyraźne. Z drugiej strony pewne błędy niewidoczne w obrazach statycznych mogą być bardzo irytujące w zrekonstruowanej ruchomej sekwencji video. Problem ten nasuwa pytanie: Czy do każdego rodzaju pliku video można stosować ten sam algorytm kompresji? Oczywiście nie można, dlatego też istnieje kilka rodzajów algorytmów kompresji video. Najpopularniejszym standardem wykorzystywanym do danych video jest MPEG, powstały na początku lat 90-tych.

W roku 1998 założony został komitet MPEG (Moving Picture Experts Group), którego celem było opracowanie algorytmów kodowania danych audio i video, by móc je zapisywać na nośnikach cyfrowych. Początkowo komitet miał trzy zespoły robocze: MPEG-1, MPEG-2 i MPEG-3 pracujące odpowiednio nad prędkościami 1.5, 10 i 40 megabitów na sekundę. W kolejnych latach okazało się, że algorytm MPEG-2 obejmuje również prędkości grupy roboczej MPEG-3, dlatego została ona zlikwidowana. Latem 1993 roku powstała grupa MPEG-4, pracująca nad obiektowo zorientowaną bazą do kodowania danych multimedialnych. W 1996 roku MPEG-4 został opublikowany. Jednocześnie komitet MPEG rozpoczął prace nad standardem MPEG-7, które zakończone zostały wprowadzeniem nowego standardu na rynek multimedialny w roku 2002. Obecnie prowadzone są prace nad MPEG-21.

Każdy plik formatu video składa się z sekwencji ramek obrazów statycznych podzielonych, jak to już było w przypadku JPEG, na bloki o rozmiarze 8x8 pikseli. Podstawowa idea kompresji takiego pliku jest więc prosta: porównujemy sąsiednie ramki wyszukując dla dekodowanego bloku najbardziej do niego podobnego bloku w ramce poprzedniej. Różnice między blokami poddawane są transformacie DCT, której współczynniki są kwantyzowane wg określonej tabeli kwantyzacji. Kompensacja ruchu wymaga jednak dużej ilości obliczeń, gdyż każde porównanie składa się z obliczenia 64 różnic. Niektóre algorytmy kompresji video zwiększają rozmiar bloku w celu zredukowania wymaganej liczby porównań. Prowadzi to do większej ilości obliczeń potrzebnych do porównań, ale liczba bloków na ramkę znacznie się zmniejsza. Wadą takiego rozwiązania jest jednak fakt, że wzrasta prawdopodobieństwo, że blok będzie zawierał dwa poruszające się w różnych kierunkach obiekty, co prowadzi do konfliktu pomiędzy ilością obliczeń a stopniem kompresji. MPEG-1 rozwiązuje ten problem w inny sposób. Bloki o wymiarach 8x8 zorganizowane są w makrobloki, składające się z bloków luminancji i chrominancji. Kompensacja ruchu przeprowadzana jest na poziomie makrobloków, co oznacza, że dla każdego kodowanego makrobloku odnajdywany jest najbardziej pasujący makroblok w poprzedniej ramce. Różnice między nimi są przekształcane za pomocą DCT i kwantyzowane.



Rysunek 5 Możliwy układ grup obrazów
Pierwsza ramka pliku video staje się podstawą do zdekodowania ramek kolejnych (rysunek 5). Nie jest ona jednak jedyną ramką zapisywaną bez odnośników do innych ramek. Gdyby tak było, zdekodowanie ramki znajdującej się w innym miejscu sekwencji wymagałoby przejrzenia całej sekwencji od początku. W MPEG-1 w określonych odstępach czasu koduje się konkretną ramkę bez odnośników do ramki poprzedniej. Ramki te nazywane są ramkami I. Im więcej takich „samodzielnych” ramek, tym mniejszy stopień kompresji i większa jej jakość. W MPEG-1 istnieją również ramki P i B. Pierwsze z nich kodowane są za pomocą predykcji z poprzedzających je ramek I lub P, natomiast ramki B odnoszą się do poprzedzających ramek, jak i do następujących po nich.

MPEG-1 stawia kodowanemu plikowi video kilka ograniczeń. Szerokość obrazu nie może być większa niż 768 pikseli, a jego długość nie może przekraczać 575 pikseli. Jeśli prędkość przesyłania ramek jest nie większa niż 25 ramek na sekundę, ilość pikseli nie może przekraczać 396 makrobloków na ramkę – w przypadku prędkości 30 ramek na sekundę ilość ta ograniczona zostaje do 330 makrobloków. Ograniczenia te pozwalają algorytmowi osiągnąć prędkość co najwyżej 1,5 megabita na sekundę. W przypadku danych video o niezbyt wielkiej ruchomości obrazu jakość po rekonstrukcji odpowiada jakości VHS. Niestety w miarę zwiększenia się dynamizmu sekwencji video jakość ta ulega pogorszeniu. Wadą jest także brak możliwości kodowania obrazów z tzw. przeplotem. Przeplot ten jest jednym ze sposobów używanych w celu zlikwidowania migotania obrazu telewizyjnego, który zostaje utworzony jako zestawienie dwóch pól, których linie są przeplecione. Każde z tych pól emitowane jest w jednej sześćdziesiątej sekundy. Taka technika wymaga od algorytmu kompresji przetwarzania obrazów z większą częstotliwością niż MPEG-1. Powstała zatem idea stworzenia ogólniejszego standardu kompresji, dającego większe możliwości w różnych zastosowaniach.

MPEG-2, młodszy brat MPEG-1, wprowadza w definicję kompresji danych video dwa nowe pojęcia: profil i poziom. W MPEG-2 istnieje pięć profili: dwa nieskalowalne (prosty i główny) oraz trzy skalowalne (skalowalny ze względu na współczynnik szumu, skalowany przestrzennie i wysoki). Profile skalowalne nie ograniczają się do jednego stopnia rozdzielczości i jakości, a obrazy mogą być w całości zdekodowane na podstawie części strumienia bitów. Poziomy w MPEG-2 ograniczają zakres pewnych parametrów używanych w trakcie kompresji takich jak ilość ramek na sekundę czy ilość próbek na ramkę. Wyróżnia się cztery poziomy: niski, średni, wysoki typu 1440 i wysoki. Istnieje 20 możliwości kombinacji poziomów i profilów, jednakże MPEG-2 zawiera tylko 11 z nich. Standard MPEG-2 zawiera niewątpliwie wiele udoskonaleń w stosunku do MPEG-1, nie jest jednak standardem najlepszym.

Standard MPEG-4 reprezentuje bardziej abstrakcyjne podejście do kodowania w dziedzinie multimediów. Standard ten widzi „scenę” multimedialną jako zbiór obiektów. Obiekty te mogą być wizualne, takie jak nieruchome tło lub gadająca głowa, albo słuchowe, takie jak mowa, muzyka, szum tła i tak dalej. Każdy z obiektów może być kodowany oddzielnie przy użyciu różnych technik i może wygenerować oddzielny strumień bitowy. MPEG-4 pozwala na przedstawienie obiektów medialnych naturalnych (zarejestrowanych za pomocą kamery video czy aparatu fotograficznego) i syntetycznych (wytwory opracowania komputerowego). Połączenie tych dwóch rodzajów obrazu pozwala na bardziej swobodne i wydajniejsze przesyłanie plików video. Istotną różnicą w stosunku do MPEG-2 jest skalowalność obiektowa umożliwiająca swobodne dodawanie lub eliminację określonych warstw obrazu.

Kodowanie obiektów w ruchu zostało znacząco udoskonalone dzięki dwóm nowym technikom kodowania: GMC (Globar Morion Compensation) oraz QPMC (Quarter Pel Morion Compesation). Pierwsza z nich opiera się na przewidywaniu zmian kształtu i miejsca położenia obiektu. Druga tworzy schematy kompensacji pozwalających na poprawienie jakości obrazu poprzez dokładne odwzorowanie charakterystyki ruchu. MPEG-4 wprowadza również technologię NEWPRED (New Predyction) oraz technologię DRC (Dynamic Resolution Conversion). NEWPRED umożliwia szybkie usuwanie błędów kodowania dzięki płynnemu włączaniu wzorców wykorzystywanych do korekcji błędów w zależności od stopnia zakłócenia sygnału. DRC jest mechanizmem eliminowania opóźnień spowodowanych tworzeniem buforów danych. Stabilizuje on poziom sygnału w punkcie wyjścia i nie dopuszcza do tworzenia zbyt dużych przerw między poszczególnymi ramkami.

Stopień kompresji MPEG-4 może być regulowany począwszy od stopnia wysokiego dla plików dopuszczających zniekształcenia obrazu do niemalże bezstratnego kompresowania danych. MPEG-4 wykazuje dużo szybszy wskaźnik redukcji błędów i szybsze odzyskiwanie bezbłędnego obrazu po stronie odbiorczej, niż to było w przypadku MPEG-2. W kompresji video, standard MPEG-4 umożliwia zastosowanie typowych funkcji dla tego typu danych, takich jak pauza, odtwarzania wstecz czy szybkie przeszukiwanie.

Ochrona informacji dotyczącej kodowanej treści możliwa jest dzięki mechanizmowi IPI (Intellectual Property Identification – identyfikator własności intelektualnej). Indeks IPI jest pakietem danych określających treść i zastrzeżenie praw właściciela. Pakiet ten jest częścią strumienia danych, a każdy obiekt może mieć swój własny indeks IPI.

Kompresja Wavelet jest obok MPEG-4 standardem często wykorzystywanym do kodowania obrazów przez komputerowe karty przechwytujące strumienie video. Jest to kompresja oparta na wykorzystaniu algorytmów falkowych. Sygnał wejściowy, który chcemy skompresować, filtrujemy z elementów niezauważalnych przez oko ludzkie, następnie dzielimy na fragmenty; każdy taki fragment zostanie przedstawiony za pomocą odpowiedniej funkcji.



Metoda ta należy do metod stratnych; obrazy charakteryzują się zamazaniem brzegów i ogólnym wygładzeniem. W porównaniu z metodami JPEG i MPEG Wavelet nie powoduje powstawania zniekształceń struktury przedmiotu na obrazie. Metody falkowe są ciągle w fazie rozwoju i prawdopodobnie będą fundamentem dla nowych kompresorów. Ciekawostką może być fakt, iż metoda ta została wykorzystana przez FBI (amerykańskie służby federalne) do realizacji systemu rozpoznawania odcisków palców, ponieważ lepiej zdała egzamin w porównaniu do metody JPEG. Stosując kompresję MPEG na 10 GB dysku można zapisać 4,5 godz. sekwencji wideo, zaś Wavelet 9 godzin, jednak dla wymagań lepszej jakości zaleca się stosowanie MPEG.







©snauka.pl 2016
wyślij wiadomość