dvb
 
telewizja cyfrowa eon skystar
Korygowanie błędów w telewizji cyfrowej
 
 
 
 
 

 

Licznik odwiedzin

 

 

Na koniec wieku rewolucja cyfrowa zmierza do finału i jedyne, co zostało do zrobienia, to oczekiwanie, że wkrótce nawet oporne cyfryzacji dziedziny zostaną przedstawione w postaci zer i jedynek. Największą siłą systemu binarnego jest właśnie to, że jest on reprezentowany tylko przez dwa symbole, niezależnie od tego, czy w rzeczywistym świecie występują szumy i zniekształcenia. Oznacza to, że dane cyfrowe są na nie odporne, co jednak nie znaczy, że całkowicie zabezpieczone przed zakłóceniami. Wszystkie cyfrowe nośniki zapisu i trasy, przez które przesyła się dane. są niedoskonałe. W efekcie więc pojedynczy bit może mieć wartość prawidłową lub wartość złą, bez żadnych stanów pośrednich. Szumy o małych amplitudach można w prosty sposób usunąć, natomiast nieuniknione są występujące nieregularnie impulsy zakłócające, które mogą być przyczyną błędnych wartości pojedynczych bitów. Większe szumy lub impulsy zakłócające mogą spowodować, że kilka kolejnych bitów będzie miało błędne wartości. Takie błędy nazywane są błędami grupowymi (burst errors). Niezależnie od przyczyny (w kanale przesyłowym lub na nośniku) odczytane z tych próbek dane są albo prawidłowe, albo obarczone różnymi kombinacjami błędnych bitów lub grup bitów. Pierwszą reakcją powinno być określenie, jakie szkody w przesyłanej informacji powodują błędne bity. Można powiedzieć, że różne rodzaje danych wykazują różną wrażliwość na błędy. Na rys. l pokazano względną czułość (wrażliwość) na błędy różnych rodzajów danych.

Dokładna wartość bitowej stopy błędów (BER), którą można akceptować, zależy od rodzaju zastosowania. Ale opierając się na przedstawionym rysunku, można stwierdzić, że cyfrowy sygnał foniczny jest bardziej tolerancyjny na błędy niż dane komputerowe. Zastosowanie kompresji zmienia sytuację, ponieważ z sygnału zostaje usunięta redundancja i taki sygnał staje się mniej tolerancyjny na błędy.

Programy komputerowe są absolutnie niepobłażliwe dla błędnych bitów. Pojedynczy błędny bit może całkowicie zmienić instrukcję - jego skutki mogą zawierać się od obliczenia mylnej wartości aż do uszkodzenia komputera. Skutki każdego z błędów w istotny sposób zakłócają pracę komputera. W sygnałach PCM, zarówno dźwiękowych, jak i wizyjnych, efekt spowodowany przez jeden błędny bit zależy od znaczenia tego bitu. Jeżeli błędny jest najmniej znaczący bit (LSB). istnieje szansa, że jego wpływ zniknie w szumach. Jeżeli natomiast błędny jest bit o dużym znaczeniu (np. MSB), to sygnał wyjściowy zostanie zakłócony w bardzo istotny sposób.

 

Rys. 1. Względna odporność na błędy różnych danych cyfrowych

 

Kompresja wizji typu MPEG wykorzystuje kodowanie o zmiennej długości słów. Jeżeli błędne bity spowodują, że zmieni się długość symbolu i zakłócony zostanie cały pas obrazu (płat makrobloków), to wówczas dekoder straci synchronizację ze strumieniem bitów. Konsekwencją tego może być np. zakłócenie znacznego obszaru obrazu telewizyjnego. Jeżeli w kompresji MPEG jest używane kodowanie między obrazowe, w którym treść zakodowana w jednym obrazie zależy od treści zakodowanej w innym obrazie, błędne bity mogą spowodować zakłócenia przechodzące z bieżącego obrazu na obraz następny. Jeżeli przekroczona zostanie maksymalna bitowa stopa błędów, którą odbiorca może tolerować, konieczne staje się wprowadzenie pewnych dodatkowych zabiegów, które zmniejszają widoczność tych błędów.

W teorii korekcji błędów istnieje pewna liczba idio-matycznych określeń, z którymi użytkownicy systemów telewizyjnych powinni się zapoznać. Należą do nich takie określenia jak: "błąd nieprzetworzony" lub "pierwotny" (raw error), czyli stopa błędów nośnika, "błędy resztkowe" lub "nieskorygowane" (residual lub uncorrected), czyli błędy, których system nie potrafi skorygować. W pracujących systemach cyfrowych resztkowa stopa błędów ma wartość praktycznie nieznaczącą, a więc różnica między resztkową stopą błędów a brakiem korekcji jest niezauważalna.

Moc korekcyjna zastosowanego w danym urządzeniu systemu korekcji powinna być właściwa dla przewidywanego prawdopodobieństwa wystąpienia błędów. Niewłaściwy system korekcji daje .efekt gorszy niż niewprowadzenie żadnej korekcji. Na rys. 2 przedstawiono wpływ systemu korekcji na resztkową stopę błędów przy określonej pierwotnej stopie błędów. Na wykresie widać efekt kolana (zagięcia) charakterystyki. W przypadku niewłaściwej oceny pierwotnej stopy błędów konsekwencje takiego wyboru mogą okazać się wręcz tragiczne.

Jaka jest przyczyna powstawania błędów? W zapisie na nośnikach magnetycznych - niezależnie, czy są to taśmy, czy dyski - dane mogą być uszkodzone z przyczyn mechanicznych, takich jak ubytki (dropo-uty) nośników, złe ścieżkowanie transportu, kontakt nośnika z taśmą lub gaussowskie szumy termiczne w obwodach odczytu lub głowicach. Natomiast w zapisie optycznym zanieczyszczenie nośnika powoduje przerywanie strumienia światła. Efekty rozostrzenia strumienia światła wywołane są przez utratę jednorodności przezroczystości nośnika i zwichrowanie dysków.

 

Rys. 2. Zbyt silna korekcja może spowodować wzrost błędów

 

Wielkość zakłóceń wewnątrz urządzeń są minima lizowane na etapie konstrukcji. Na przykład szumy cieplne można zminimalizować używając bardzo krótkich przewodów. Zastosowanie właściwej techniki projektowania powoduje, że zakłócenia te są praktycznie pomijalne. Generalnie należy stwierdzić, że znacznie mniejsze są możliwości kontrolowania źródła błędów w środowisku elektromagnetycznym.

W kablach występują przecieki i interferencje: mogą one uszkodzić przesyłane dane, ale na przykład kable optyczne są na te wpływy odporne. Mimo to przy przesyłaniu danych na długich trasach należy zwrócić uwagę na efekty oświetlenia i szumy przełączania w centralach komutacyjnych. Przy napowietrznej emisji cyfrowych sygnałów telewizyjnych mogą występować wielokrotne odbicia sygnałów i w efekcie w niektórych miejscach może wystąpić całkowity zanik sygnału.

Niezależnie od przyczyn dyskretne bity danych mogą być albo dobre, albo złe. Pojedynczy bit może być tylko zerem lub tylko jedynką. Subtelne degradacje sygnału, charakterystyczne dla transmisji analogowych, nie występują w zapisie cyfrowym i cyfrowych kanałach transmisyjnych. Oznacza to, że jeżeli wiadomo jest, iż określony bit danych jest zły, to wystarczy tylko odwrócić jego stan i stanie się on bitem prawidłowym, nieodróżnialnym od wartości oryginalnej. Z tego punktu widzenia można stwierdzić, że korekcja błędów jest zabiegiem trywialnie prostym: najtrudniejszym jej zadaniem jest określenie, które bity muszą zostać skorygowane.

 

Proces korekcji błędów

Działanie korekcji błędów pokazano na rys. 3. Po prostu wykorzystuje się zwykłą bramkę typu exclusive OR. Charakterystyka tego szczególnego urządzenia polega na tym. że na jego wyjściu jest stan ..l", jeżeli sygnały na dwóch jego wejściach są różne. Do wejścia A doprowadzony jest sygnał wejściowy przed korekcją, do wejścia B sygnał informujący o wystąpieniu błędu. Jeżeli nie ma błędu, na wejściu B jest ..O", a więc sygnał na wyjściu bramki jest taki sam, jak sygnał na wejściu A. Jeżeli wykryty zostanie błąd. to na wejściu B pojawia się "l" i wówczas sygnał na wyjściu zmienia znak, czyli następuje korekcja błędu wykrytego w sygnale doprowadzonym do wejścia A.

 

Rys. 3. Błąd wykryty - to bardzo prosty proces korekcji

 

Zgodnie z tabelą prawdy bramki exclusive OR na wyjściu C wystąpi sygnał skorygowany.
Większość torów przesyłowych charakteryzuje się występowaniem szumów gaussowskich. Krzywa Gaussa pokazana na rys. 4 przedstawia prawdopodobieństwo wystąpienia w szumach impulsów o określonej amplitudzie. Należy zwrócić uwagę, że krzywa ta jest nieskończona, szumy nigdy nie znikają, zmniejsza się tylko prawdopodobieństwo, że przekroczą one określoną, różną dla różnych urządzeń amplitudę. Wynika z tego, że nie można zapisać lub przesłać sygnału cyfrowego, niewprowadzając do tego sygnału błędów, niezależnie od tego, jak wysoki będzie stosunek sygnału do szumu. Dzieje się tak, ponieważ zawsze jest mała, ale określona szansa, że amplituda szumu przekroczy amplitudę sygnału i jednocześnie polaryzacja tego szumu będzie przeciwna do polaryzacji sygnału, a więc pojawi się przeciwny impuls, czyli błędny bit. Wiedza o kształcie krzywej Gaussa pozwala przekształcić zależność sygnał/szum w wartość bitowej stopy błędów (BER).

 

Rys. 4. Funkcja Gaussa jest niograniczona - a więc niemożliwe jest

stworzenie systemu niewrażliwego na błędy,

zwiększając stosunek sygnału/szum

 

Zwiększanie w torze stosunku sygnał/szum nie eliminuje błędów, a jedynie zmniejsza prawdopodobieństwo ich wystąpienia. Logiczne więc staje się wprowadzenie systemu korekcji błędów. Stosując taki system, można zmniejszyć stosunek sygnał/szum.
Teraz można zrozumieć, dlaczego nadajniki DVB mogą mieć tak małą moc - korekcja błędów jest odpowiednia do założonych parametrów, co pozwala w rozsądnym stopniu zmniejszyć stosunek sygnał/szum. Z tych samych względów możliwe jest zastosowanie niewiarygodnie wąskich ścieżek w magnetowidach cyfrowych i dyskach twardych. Systemy korekcji błędów korygują błędy wywołane przez zastosowanie wąskich ścieżek, a jednocześnie większą ilość takich ścieżek można zmieścić na tej samej powierzchni taśmy, rośnie więc gęstość zapisu (oznacza to, że dla tego samego strumienia danych, przy zachowaniu tego samego czasu nagrania, można dodać więcej bitów nadmiarowych, a więc zastosować silniejszą protekcję błędów).

Jak pokazano na rys. 3, proces korekcji jest trywialny i zarazem doskonały. Główna trudność to wykrycie, który bit jest bitem fałszywym. Proces wykrywania polega na dodawaniu do danych wejściowych bitów nadmiarowych. Systemy nadmiarowe od wielu lat są stosowane w różnych urządzeniach, np. samochody wyposaża się w podwójny system hamulcowy. Można więc stwierdzić, że im większe prawdopodobieństwo usterek, tym więcej potrzeba będzie elementów nadmiarowych. Np. czterosilnikowy samolot jest tak zaprojektowany, że w przypadku uszkodzenia jednego silnika pozostałe silniki pozwalają utrzymać normalną prędkość lotu. Oznacza to, że czwarty silnik to urządzenie nadmiarowe. Liczba elementów nadmiarowych jest równa liczbie przewidywanych uszkodzeń lub błędów.

 

Maskowanie błędów

W systemach cyfrowych liczba błędów, które mogą być skorygowane, jest proporcjonalna do liczby bitów nadmiarowych. W ramach tych granic dane są przesyłane w dokładnie oryginalnym kształcie. Jeżeli liczba błędów przekracza nadmiarowość, skorygowanie błędów nie jest możliwe. W niektórych sytuacjach nic więcej nie można zrobić. W pewnych przypadkach można zastosować maskowanie. Maskowanie jest to proces, w którym wartości zagubionych próbek są szacowane na podstawie wartości próbek sąsiednich. Tak oszacowana wartość nie musi być dokładnie taka sama, jak wartość oryginalna, ale zawsze jest lepsza niż jej brak. W dobrze zaprojektowanych systemach maskowanie jest stosowane bardzo rzadko, najczęściej tylko wówczas, gdy wystąpi usterka lub inny poważny problem techniczny.

 

Rys. 5. Zasada maskowania błędów


Maskowanie wprowadza się przed zapisem danych i wymaga ono zmiany sekwencji oryginalnych próbek. Jest to pokazane na rys. 5. Widać, że próbki nieparzyste są oddzielone od próbek parzystych; proces ten wykonuje się przed zapisem próbek. Nieparzyste i parzyste próbki mogą być nagrywane w różnych miejscach nośnika, a więc niemożliwe do skorygowania błędów (spowodowane np. przez ubytki nośnika, dropouty) zakłócą np. tylko próbki nieparzyste. W odczycie próbki są składane w pierwotnej oryginalnej kolejności; błędy są teraz rozłożone co drugą próbkę w dwuwymiarowej strukturze próbek. Na rysunku widać, że np. próbka 8 jest zakłócona, natomiast próbki 7 i 9 są właściwe, a więc przybliżona wartość próbki 8 równa się średniej wartości próbek sąsiednich. Ta interpolowana wartość zastępuje wartość warstwy uszkodzonej próbki. Amplituda brakujących próbek jest obliczana jako połowa amplitudy dwóch sąsiednich próbek obarczonych błędem. W efekcie obraz wejściowy jest odtwarzany prawidłowo, z minimalnym pogorszeniem szczegółów. Nie jest to obraz doskonały, ale i tak znacznie lepszy, niż gdyby uszkodzone próbki nie zostały zamaskowane. Należy podkreślić, że maskowanie jest możliwe tylko w danych cyfrowych bez kompresji (PCM). Bardzo trudno jest maskować błędy w danych MPEG.

Zastosowanie systemu korekcji błędów oznacza, że w pewnych granicach jakość danych jest niezależna od zjawisk w obszarze głowica/nośnik. Nie ma sensu oceniać stanu urządzenia, obserwując monitor lub słuchając dźwięku - w ten sposób nie wykryje się, czy stopa błędów jest na normalnym poziomie, czy blisko usterki. Jedyną użyteczną metodą jest monitorowanie częstotliwości, z jaką błędy są korygowane, i porównywanie ich z normalnymi wynikami.

Proces przeplatania

Urządzenia i systemy cyfrowe, takie jak DVB, DVD, DVC, są narażone na występowanie błędów grupowych. Korygowanie tych błędów przez wprowadzanie bitów nadmiarowych do każdego kodu w wymiarze równym występującym błędom grupowym jest nieefektywne.

 

Rys. 6. Proces przeplatania sprowadza wielkość błędu

grupowego do indywidualnych stów kodowych

 

Na rys. 6 pokazano, jak proste przeplatanie próbek wyraźnie podnosi skuteczność systemu korekcji. W przetworniku analogowo/cyfrowym kolejne próbki składane są w kody, ale nie są w takiej postaci zapisywane lub przesyłane. Przeplatanie próbek uzyskuje się wpisując je do kolejnych wierszy pamięci o swobodnym dostępie. Gdy pamięć zostaje zapełniona, jej zawartość jest kopiowana na nośnik przez odczytywanie kolumn z góry na dół. Oczywiście po nagraniu próbki muszą być wyplecione z takiej struktury i złożone w ich naturalnej kolejności. Realizowane jest to w ten sposób, że odczytywane z nośnika (np. z taśmy) próbki są wpisywane z góry na dół w kolejnych kolumnach pamięci. Po zapełnieniu pamięci jej zawartość jest wy-czytywana z kolejnych wierszy. Na wyjściu pamięci próbki ustawione są w oryginalnej kolejności, co oznacza, że niezmieniony został kształt przesyłanej informacji. Jeżeli w tak zapisanym sygnale wystąpi błąd grupowy, który uszkodzi kolejne próbki, to zostaną one wpisane w pamięci do określonej kolumny, jedna za drugą (na rys 6 są to próbki Cl, A2, B2). Próbki z pamięci wyczytywane są w wierszach, więc jedna duża grupa błędnych próbek zostanie rozbita na kilka małych błędów, których rozmiar jest równy mocy korekcyjnej zastosowanego kodu korekcyjnego. Uzyskano więc maksymalną skuteczność korekcji.

Skuteczność procesu przeplatania może być zwiększona przez zastosowanie pamięci krzyżowej, w której bity nadmiarowe są dodawane zarówno w wierszach, jak również w kolumnach macierzy. Takie rozwiązanie nazywa się kodowaniem iloczynowym (product code).

 

Rys. 7. Kodowanie iloczynowe

 

Na rys. 7 pokazano kod iloczynowy, w którym kodem zewnętrznym (outer code) nazwana została ta część procesu kodowania, gdzie następuje wpisanie w wierszach pierwszych bitów nadmiarowych P; te bity nadmiarowe wykorzystane są w drugim etapie korekcji. Natomiast kodem wewnętrznym nazywany jest proces wprowadzania drugiej grupy bitów nadmiarowych Q w kolumnach, które używane są w pierwszym etapie korekcji. Kod wewnętrzny wpisywany jest wzdłuż ścieżek nośnika. Błędy przypadkowe, wynikające z szumów, korygowane są przez kod wewnętrzny i nie powodują obniżenia mocy korekcyjnej kodu zewnętrznego. Błędy grupowe są przez kod wewnętrzny określane jako niekorygowalne, a uszkodzone próbki oznaczane znacznikami F (Flags). Proces ten zachodzi przed pamięcią wyplatającą próbki. Kod zewnętrzny odczytuje znaczniki F uszkodzonych próbek, czyli ustala ich położenie. Wskaźniki F przechodzą przez proces wyplatania i używane są przez układ zewnętrznej korekcji błędów; wskazują one, które symbole w wierszu wymagają korekcji z wykorzystaniem kodu P. Ponieważ koder zewnętrzny nie musi obliczać położenia błędnych próbek, może więc skorygować więcej błędów.

Proces tasowania

Procesy przeplatania, wyplatania, kompresji czasowej i korekcji błędów czasowych wprowadzają opóźnienie obrazu, co należy uwzględniać przy wykorzystywaniu urządzeń, w których zastosowano korekcję błędów. Nieskorygowany błąd w nagraniu realizowanym na urządzeniu wyposażonym w korekcję błędów, która wykorzystuje kod iloczynowy. ma postać prostokąta uszkodzonych próbek wymagających maskowania.

Ta regularna struktura błędów będzie widoczna również po procesie maskowania, co oznacza, że należy wprowadzić jeszcze dodatkowy zabieg redukujący widoczność nieskoordynowanych błędów.


Rys. 8. Zasada procesu tasowania

 

Na rys. 8 przedstawiono proces tasowania (shuffleprocess), któremu podlegają dane jeszcze przed wprowadzeniem kodu iloczynowego. Polega on na tym, że piksele są rozrzucone na obszarze ekranu w sposób pseudolosowy. W odczycie zachodzi proces odwrotny, a więc pełny proces tasowania się znosi. Jednak jak pojawi się duży, nieskorygowany błąd. To poddany on zostanie jedynie procesowi tasowania odwrotnego, a więc regularna struktura uszkodzonych, nieskorygowanych bloków danych zmieni się w strukturę losową. Błędy zostaną rozrzucone na całym ekranie w postaci pojedynczych pikseli o nieregularnej, mniej widocznej strukturze.

 

 

 


 

O stronie:

Stronka poświęcona szeroko pojętej tematyce telewizyjnej. Zawarte informacje pomogą w zrozumieniu wielu zagadnień związanych z satelitarna telewizja cyfrowa DVB, zarówno teoretycznie, jak i praktycznie.

 

Ciekawe linki:

dvb-board-pl-com

satkurier.pl

happysat.org

dvbpl.com

dvbzone.prv.pl