VŠB TECHNICKÁ UNIVERZITA V OSTRAVÌ Recenzenti Prof. Ing. Dušan Levický, CSc. Prof. Ing. Vladimír Šebesta, CSc. Kniha shrnuje nìkteré výsledky øešení p



Podobné dokumenty


Podìkování: Výsledkù publikovaných v této knize bylo dosaženo také za podpory projektù GAÈR 101/06/P108 Výzkum simulaèního a experimentálního modelová


Monografie poskytuje v pøehledné a praktické formì znalosti a výpoèetní nástroje pro modelování šíøení rádiových vln v zástavbì, tedy vnì i uvnitø bud







Autor by chtìl podìkovat všem svým spolupracovníkùm a kolegùm, kteøí mu pomohli s pøípravou textu. K vydání knihy pøispìla firma Newport Electronics s

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury Příklad PROG_



4 DIELEKTRICKÉ OBVODY ZÁKLADNÍ POJMY DIELEKTRICKÝCH OBVODŮ Základní veličiny a zákony Sériový a paralelní



David Matoušek ÈÍSLICOVÁ TECHNIKA základy konstruktérské praxe Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována ne

ALGORITMY ČÍSLICOVÉHO ZPRACOVÁNÍ SIGNÁLŮ

Jan Humlhans NÁBOJOVÉ PUMPY funkce, pøehled a použití Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmno



OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PŘÍKLADECH 8 Proudová knihovna 8.1 Hierarchie proudů Standardně zavedené proudy




Publikace prezentuje nìkteré poznatky z obsáhlé oblasti analogových soustav, které v poslední dobì prodìlávají rozvoj. Z toho dùvodu ani nemùže podat

Komerèní využití stavebních návodù je povoleno jen s písemným souhlasem autora a nakladatelství. Soubory na CD ROM mající pøímo vztah ke knize, které

Základy ultrazvuku A. ZÁKLADY ULTRAZVUKU 10


APLIKACE MIKROKONTROLÉRŮ PIC32MX


Kniha je urèena všem zájemcùm o teorii elektrických obvodù Poslouží jako pøíruèka pro praxi, ale i jako uèebnice pro studenty støedních a vysokých ško



Tato kniha popisuje výchozí stanoviska psychotroniky jako potenciální vìdní disciplíny Tvoøí ucelenou pracovní hypotézu pro realizaci základního výzku








3.7.5 Znaménkové operátory Násobící operátory Rùzné operátory Základní objekty Konstanty Sig


MIKROPROCESOROVÁ TECHNIKA 9 Událostní systém 9.1 Události Síť ERN Časování událostí Filtrace






Jan Hájek ELEKTRONICKÉ HLEDAÈE Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnožována jakoukoli formou

ELEKTRONICKÉ PRVKY 7 Výkonové a spínací aplikace tranzistorů 7.1 Ztrátový výkon a chlazení součástky První a druhý průraz bipolárního



APLIKACE ALGORITMŮ ČÍSLICOVÉHO ZPRACOVÁNÍ SIGNÁLŮ 1. DÍL

Roman Neruda a Tomáš Holan C++ BUILDER V PØÍKLADECH Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnožo




Translation from the English language edition: Passing the marker Understanding the New Millennium Energy Copyright 2000 Lee Carroll All Rights Reserv

MIKROKONTROLÉRY PIC PRO POKROČILÉ








Gergelitsová, Holan: Zlatý řez pravítkem a kružítkem













Urèeno uživatelùm CB pásma, kteøí si chtìjí rozšíøit okruh vìdomostí, rádiovým posluchaèùm a všem, kteøí se pøipravují ke zkouškám pro povolení provoz

Ladislav Szántó: Maxwellovy rovnice, 2. vydání

Jiøí Peèek, OK2QX. Radioamatérský provoz a pøedpisy


Karel Zaplatílek a Bohuslav Doòar MATLAB zaèínáme se signály Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo


3/ %,1'(& 83'1 &( &3 )XQNFH. + ; ; ; ; / ; ; + ; EH]H]PuQ\


OBSAH PØEDMLUVA... 11


[1] samoopravné kódy: terminologie, princip




Kódování Obsah. Reedovy-Solomonovy kódy. Radim Farana Podklady pro výuku. Cyklické kódy.


MIKROKONTROLÉRY PIC BEZ PŘEDCHOZÍCH ZNALOSTÍ

Transkript:

VŠB TECHNICKÁ UNIVERZITA V OSTRAVÌ KOMPRESE A KÓDOVÁ ZABEZPEÈENÍ V MULTIMEDIÁLNÍCH KOMUNIKACÍCH Karel Vlèek Praha 2004

VŠB TECHNICKÁ UNIVERZITA V OSTRAVÌ Recenzenti Prof. Ing. Dušan Levický, CSc. Prof. Ing. Vladimír Šebesta, CSc. Kniha shrnuje nìkteré výsledky øešení projektu TEMPUS S_JEP 9468-95, projektu GAÈR è. 102/97/0542 projektu GAÈR è. 102/98/1003 a projektu GAÈR è. 102/01/1531. Prof. Ing. Karel Vlèek, CSc. KOMPRESE A KÓDOVÁ ZABEZPEÈENÍ V MULTIMEDIÁLNÍCH KOMUNIKACÍCH Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnožována jakoukoli formou (tisk, fotokopie, mikrofilm nebo jiný postup), zadána do informaèního systému nebo pøenášena v jiné formì èi jinými prostøedky. Autor a nakladatelství nepøejímají záruku za správnost tištìných materiálù. Pøedkládaná zapojení a informace jsou zveøejnìny bez ohledu na pøípadné patenty tøetích osob. Nároky na odškodnìní na základì zmìn, chyb nebo vynechání jsou zásadnì vylouèeny. Veškerá práva vyhrazena. Karel Vlèek 2004 Nakladatelství BEN technická literatura, Vìšínova 5, Praha 10 Karel Vlèek: Komprese a kódová zabezpeèení v multimediálních komunikacích BEN TECHNICKÁ LITERATURA, PRAHA 2004 2. vydání ISBN 80-7300-134-9

OBSAH Pøedmluva... 9 1. ÚVOD... 11 1.1 Úèinná a zabezpeèená komunikace... 11 1.2 Historické poèátky teorie komunikace... 13 1.3 Tématické èlenìní knihy... 14 1.4 Podìkování... 15 2. INFORMACE A KÓDOVÁNÍ... 17 2.1 Kódování a informaèní obsah zprávy... 17 2.2 Kódování zdroje zpráv... 18 2.3 Kanálové kódování... 19 2.4 Zdroj zpráv s nezávislými symboly... 19 2.5 Jednotky informace... 21 2.6 Zdroj zpráv bez pamìti... 22 2.7 Vlastnosti entropie zdroje zpráv... 23 2.8 Ztrátová a bezztrátová komprese... 26 2.9 Øešené pøíklady... 26 3. BEZZTRÁTOVÁ KOMPRESE ZPRÁV... 29 3.1 Nerovnomìrné kódy... 29 3.2 Binární nerovnomìrné kódování... 30 3.3 Prefixové kódy... 31 3.4 Huffmanova konstrukce kódu... 32 3.5 RLC algoritmus... 34 3.6 Shannonova vìta o kódování bez šumu... 35 4. ZTRÁTOVÁ KOMPRESE... 39 4.1 Ztrátová komprese øeèového signálu... 39 4.2 VHDL model obvodu kompresoru a expandoru øeèového signálu... 41 4.3 Komprese obrazu... 44 4.4 Doporuèení H.261... 45 4.5 Doporuèení JPEG... 47 Komprese a kódová zabezpeèení v multimediálních zabezpeèení 3

4.6 Doporuèení MPEG... 49 4.7 Komprese obrazu pomocí waveletové transformace... 51 4.8 Harmonická a waveletová analýza... 52 4.9 Komprese pomocí waveletové analýzy... 54 4.10 Algoritmizace výpoètu... 55 4.11 Komprese obrazu... 57 5. INFORMAÈNÍ KANÁL... 61 5.1 Informaèní kanál bez pamìti... 61 5.2 Binární informaèní kanál... 65 5.3 Informaèní pomìr kódu... 66 5.4 Hammingova vzdálenost... 67 5.5 Vzájemná informace... 68 5.6 Kapacita informaèního kanálu... 70 5.7 Shannonova vìta o kódování za pøítomnosti šumu... 73 5.8 Ochrana zprávy pøed vlivem chyb... 74 6. DETEKCE CHYB... 75 6.1 Lineární binární blokové kódy... 75 6.2 Generující matice kódu... 76 6.3 Kontrolní matice... 77 6.4 Kontrolní matice kódu celkové parity... 78 6.5 VHDL model kodéru a dekodéru kódu celkové parity... 79 6.6 Model propojení... 80 6.7 Model chování... 80 6.8 Disková pole Aplikace kódu celkové parity... 81 6.9 Pøíklad øešení kódu celkové parity Disková pole... 83 7. OPRAVA JEDNÉ CHYBY... 85 7.1 Hammingovy kódy... 85 7.2 Algoritmické vytváøení kódových slov... 87 7.3 Opravování kódových slov... 88 7.4 VHDL modelování Hammingova kódu... 89 7.5 Kodér Hammingova kódu... 89 7.6 Dekodér Hammingova kódu... 90 7.7 Rozšíøený Hammingùv kód... 91 7.8 Øešené pøíklady... 93 4 Komprese a kódová zabezpeèení v multimediálních komunikacích

8. OPRAVA VÍCE CHYB... 95 8.1 Reedovy-Mullerovy kódy... 95 8.2 Vlastnosti R-M kódù... 98 8.3 Algoritmus dekódování R-M kódù... 99 8.4 Oprava chyb R-M kódù... 100 8.5 Praktické aplikace Reedových-Mullerových kódù... 102 9. CYKLICKÉ KÓDY PRO OPRAVU JEDNÉ CHYBY... 103 9.1 Popis kódù pomocí mnohoèlenù... 103 9.2 Pøínos teorie cyklických kódù... 103 9.3 Struktura koneèných tìles... 105 9.4 Konstrukce koneèného binárního tìlesa se šestnácti prvky... 106 9.5 Konstrukce cyklických kódù... 109 9.6 Generující mnohoèlen... 112 9.7 Nesystematické a systematické kódování... 113 9.8 Dekódování cyklických kódù... 116 9.7 Meggitùv dekodér... 117 9.8 Pøíklady... 120 10. BCH KÓDY... 121 10.1 Minimální mnohoèleny... 121 10.2 Generující mnohoèlen BCH kódu... 122 10.3 Kontrolní matice BCH kódù... 125 10.5 Kódování systematického BCH-kódu... 128 10.6 Dekódování BCH kódù... 129 10.7 Meggitùv dekodér pro opravu dvou chyb... 130 10.8 Aplikace BCH-kódù pro polovodièové pamìti... 134 11. REEDOVY SOLOMONOVY KÓDY... 137 11.1 RS-kódy jsou tøídou BCH kódù... 137 11.2 RS-kódy kódy pro opravu shlukových chyb... 138 11.3 Aplikace RS-kódù pøi zabezpeèení polovodièových pamìtí... 139 11.4 Aplikace RS-kódù v optických diskových pamìtech... 142 11.5 Dekódování RS-kódù pøi ètení CD... 144 Komprese a kódová zabezpeèení v multimediálních komunikacích 5

12. KONVOLUÈNÍ KÓDY... 145 12.1 Vlastnosti konvoluèního kódování... 145 12.2 Rozdíl v popisu konvoluèních kódù a kodérù... 146 12.3 Definice konvoluèního kódu... 147 12.4 Definice kodéru konvoluèního kódu... 148 12.5 Minimální kódová vzdálenost konvoluèního kódu... 150 12.6 Dekódování konvoluèního kódu... 150 13. NÌKTERÉ JEDNODUCHÉ KONVOLUÈNÍ KÓDY... 153 13.1 Konvoluèní kódy øešitelné pomocí syndromu... 153 13.2 Kódování konvoluèního WA-kódu... 154 13.3 Dekódování a oprava chyb u WA-kódu... 156 13.4 Kodér WA-kódu... 157 13.5 Dekódování konvoluèního WA-kódu... 159 13.6 Srovnání úèinnosti Hammingova kódu a WA-kódu pro TV... 161 14. TURBO-KÓDY... 165 14.1 Paralelní zøetìzení... 165 14.2 Rekurzivní kodér... 166 14.3 Kodér turbo-kódu... 167 14.4 Dekódování... 168 14.5 Dekodér turbo-kódu... 169 14.5 Výkonnost turbo-kódu... 170 A. DOPORUÈENÍ MPEG... 173 A.1 Komprese MPEG... 173 A.2 Aplikace MPEG 2 v systému DVD... 173 A.3 Jednoèipová øešení MPEG 2... 175 B. NÁVRH OBVODÙ POMOCÍ VHDL... 177 B.1 VHDL... 177 B.1.1 Vlastnosti VHDL pro podporu návrhu... 177 B.1.2 Vlastnosti VHDL pro podporu testování... 178 B.1.3 Vlastnosti VHDL pro podporu implementace... 178 B.2 Nástroj standardizace... 179 6 Komprese a kódová zabezpeèení v multimediálních komunikacích

B.2.1 Dùvody vzniku VHDL... 179 B.2.2 Doporuèení IEEE Std 1076... 179 B.2.3 Doporuèení IEEE Std 1164... 180 B.2.4 Doporuèení IEE Std 1076.3 (Numeric Standard)... 180 B.2.5 Vznik doporuèení IEE Std 1076.4 (VITAL)... 180 B.3 Jak se uèit VHDL... 181 B.3.1 První pøíklad popisu pomocí VHDL... 181 B.3.2 Entity a architektury... 181 B.3.3 Deklarace entity... 182 B.3.4 Deklarace architektury... 182 B.3.5 Datové typy... 182 B.4 Návrhové jednotky... 183 B.4.1 Entita VHDL... 184 B.4.2 Architektura VHDL... 184 B.4.3 Package a package body... 184 B.4.4 Konfigurace (konfiguraèní deklarace)... 185 B.5 Úrovnì abstrakce styly... 185 B.5.1 Behaviorální úroveò chování... 186 B.5.2 Popis na úrovni datových tokù... 187 B.5.3 Popis na úrovni struktury zapojení... 187 B.6 Vzorový obvod... 187 B.6.1 Popis komparátoru na úrovni datových tokù... 188 B.6.2 Podmínìné pøiøazení... 189 B.6.3 Vybírané signálové pøiøazení... 189 B.6.4 Kruhový posuvný registr... 190 B.6.5 Použití konstruktu process... 190 B.6.6 Použití konstruktu process... 191 B.7 Signály a promìnné... 192 B.7.1 Použití procedury... 192 B.7.2 Pøíklad procedury... 193 B.8 Popis struktury... 194 B.8.1 Hierarchie návrhu... 195 B.9 Simulace, verifikace a testování... 196 B.9.1 Verifikace návrhu obvodu... 196 B.9.2 Návrh testu... 197 B.9.3 Pøíklad Testeru... 198 B.10 Závìr... 200 Komprese a kódová zabezpeèení v multimediálních komunikacích 7

C. GALOISOVA TÌLESA... 201 C.1 Tìlesa... 201 C.2 Galoisova tìlesa... 201 C.3 GF(4) = Z 2 [x]/modx 2 + x + 1... 203 C.4 GF(8) = Z 2 [x]/modx 2 + x + 1... 204 C.5 GF(9) = Z 3 [x]/modx 2 + x + 2... 204 C.6 GF(16) = Z 2 [x]/modx 4 + x + 1... 204 C.7 GF(25) = Z 2 [x]/modx 2 + x + 2... 205 C.8 GF(32) = Z 2 [x]/modx 5 + x 2 + 1... 205 D. MEGGITÙV DEKODÉR... 207 D.1 Systematický cyklický kód... 207 D.2 Popis kodéru (15,11)-kódu... 207 D.3 Vytvoøení modelu kodéru... 209 D.4 Dekodér (15,11)-kódu... 213 D.5 Generování syndromu... 214 D.6 Obvod dekodéru... 215 D.7 Vytvoøení modelu dekodéru... 216 D.8 Simulace modelù kodéru a dekodéru... 220 E. ØEŠENÉ PØÍKLADY... 221 1. Informace a entropie... 221 2. Nerovnomìrné kódy... 229 3. Sdìlovací kanál... 242 LITERATURA... 255 REJSTØÍK... 259 8 Komprese a kódová zabezpeèení v multimediálních komunikacích

PØEDMLUVA Kniha Komprese a kódová zabezpeèení v multimediálních komunikacích vznikla rozšíøením a doplnìním uèebních textù pro výuku vysokoškolského kursu o teorii informace a kódování, který je na Technické univerzitì v Ostravì vyuèován od roku 1993. Inspirací, pøi zavádìní této disciplíny jako povinného pøedmìtu, byly vynikající práce o teoretických základech kódování, které publikoval na konci osmdesátých a zaèátku devadesátých let Prof. Jiøí Adámek. Z jeho publikací jsem také vìtšinou èerpal èeské ekvivalenty odborných výrazù z diskrétní matematiky a teorie informace. Historie oboru se dnes již datuje pìti desetiletími. K praktickým návrhùm kódových systémù a jejich implementaci pomocí zákaznických obvodù mne inspirovaly monografie, jejichž autory jsou R. E. Blahut (1983), S. Lin a D. J. Costello (1983), J. G. Proakis (1989) a Prof. Jan Hlavièka a kol. (1992). Ke koncipování kursu jako praktické aplikace teorie kódování mne pøivedl rozvoj jazyka VHDL a øešení projektù grantových agentur TEMPUS S_JEP 09468-95 ( EQUATOR ), GAÈR 102/97/0542 ( Development of Software Tools for Portable and Safety Applications in Industrial Process Control ) a GAÈR 102/98/1003 ( Research and Development of Built-in Diagnostics Means of Integrated Circuits ). Pøi øešení tìchto projektù vznikly modely kodérù a dekodérù, které jsou použitelné pro automatizovaný návrh èíslicových systémù. Návrh èíslicových obvodù a systémù je dnes provádìn s podporou jazyka VHDL. Jazyk VHDL usnadòuje i syntézu obvodù a návrh testù obvodù, které potlaèují chyby zpùsobené poruchou v obvodu. Provádìní testù je podmínìno zmìnou zapojení obvodù pøi testování, aby mohly být detekovány i tzv. latentní poruchy. V této knize jsou odborné veøejnosti pøedkládány vybrané úlohy diskrétní matematiky, které mají vztah ke kódování, ale i zpùsoby popisu a modelování systémù kódování. Stejný dùraz je kladen jak na porozumìní principùm kódování, tak na pochopení èinnosti obvodù a programù, které provádìjí zpracování podle pøedepsaných matematických algoritmù. Pøi pøenosu zpráv v digitálních sítích jsou bezpeènostní kódy dnes již standardnì aplikovány a systematicky zavádìny. Použití kódování v oblasti výpoèetní techniky i v oblasti pamì ových médií se stalo rozhodující podmínkou rùstu spolehlivosti samoèinných poèítaèù již pøi prvních aplikacích a jejich význam roste s každým inovaèním krokem v oblasti polovodièové i optické technologie. Zabezpeèovací kódy se uplatòují všude tam, kde je nutné eliminovat vliv rušení, které je zpùsobené prostøedím. Komprese a kódová zabezpeèení v multimediálních komunikacích 9

Obvodovému øešení bez ohledu na zpùsob implementace jsou vìnovány odstavce, ve kterých jsou popisovány modely obvodù v jazyce VHDL. Nìkterá øešení kodérù a dekodérù pøedpokládají použití rozsáhlých logických obvodù. Zpracovávané zprávy vyžadují, aby systémy pro kódování pracovaly v reálném èase. Øešení algoritmù kódù pro takové úèely je možné uskuteènit vysoce paralelním zpracováním, které je dosahováno buï speciálním zákaznickým obvodem nebo použitím signálového procesoru. Každý z uvedených zpùsobù implementace má podmínky svého ekonomického využití. Hlavní podmínkou efektivnosti je zejména opakovanost výroby. Kniha, kterou držíte v rukou pøedstavuje specifickou sondu do teorie i praktické realizace komunikaèních soustav. Kódování prodìlává nyní období rozmachu implementací. Umožnil to prudký rozvoj technologií a standardizace návrhu èíslicových obvodù a systémù. Zájem výrobcù se pøirozenì soustøeïuje na dosažení vysoké spolehlivosti, jakou pøedepisují pro provoz digitálních sítí doporuèení ITU. Vìøím, že kniha Komprese a kódová zabezpeèení v multimediálních komunikacích bude pøínosem pro praktické použití nejenom v tradièních aplikacích, ale i v øadì nových oborù, ve kterých je pøedávání informací dùležitou složkou jejich èinnosti. Ostrava 1999 Autor PØEDMLUVA KE DRUHÉMU VYDÁNÍ Zkušenosti z použití knihy ve výuce z období let 2000 až 2003 i èetné citace z disertaèních prací mi umožnily zlepšit ty èásti výkladu, které se týkají základních teorémù a jejich logické výstavby. Dále byla pøipojena pøíloha E, která obsahuje øešené pøíklady. Jednotlivé úlohy jsou rozdìleny do tématických celkù odpovídajících kapitolám knihy. Øešené pøíklady peèlivì pøipravil Ing. Jan Kovalský. Vyjadøuji mu na tomto místì své díky nejen za pøípravu textu, ale také za vzorné vedení cvièení a webových stránek http://apollo.vsb.cz/vyuka/. Autor 10 Komprese a kódová zabezpeèení v multimediálních komunikacích