Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Filmy a seriály, streamovací služby
Televize  |  Projektory
Audio a domácí kina
Multimediální centra  |  Ostatní
Svět hardware  |  Digimanie
Svět mobilně

Zákulisí DVB - teorie a technické informace

13.7.2009, Radek Jahoda, článek
Snad všechna média nás přesvědčují, že digitální vysílání je lepší než analogové. Ale co za tím stojí a proč to tak je, ví už málokdo. Podívejme se, jak systém DVB (DVB-S, DVB-S2, DVB-T a DVB-T2) funguje a jak je v principu rozdílný od analogového TV vysílání.
Začněme ale od základů. Jelikož jde o digitální vysílání, tak i vysílaný obraz a zvuk jsou digitální. Používají se dnes již zavedené formáty/kodeky pro zakódování obrazové a zvukové informace. Přitom pro různé varianty DVB jsou definovány různé kodeky. Není to z toho důvodu, že by jiné kodeky nešly přenášet, ale spíše by nemělo jejich použití smysl. Celý systém je ale ucelený, definuje způsob přenosu, způsob zakódování, takže definuje i možné kodeky.

Pro video ve standardním rozlišení se používá formát MPEG-2, který najdeme rovněž na DVD discích. Rozlišení je také stejné: 720x576 bodů s prokládaným řádkováním. Druhou možností je použití MPEG-4 AVC nebo-li H.264, které se používá pro video ve vysokém rozlišení 1920x1080 bodů prokládaně nebo 1280x720 neprokládaně. Sice není definováno striktně jejich použití, ale většinou je to MPEG-2 v systému DVB-S a DVB-T a H.264 v systému DVB-S2 a DVB-T2. Vzhledem k tomu, že systém DVB-T2 byl přijat až v roce 2008, tak již před tím byla snaha nabídnout video ve vysokém rozlišení, proto se v HD s H.264 kodekem vysílá i v DVB-T.

Pro zvuk se používá jednak kódování MPEG-1 Layer 2 ve stereo režimu, což je v podstatě vždy u vysílání ve standardním rozlišení spolu s MPEG-2 videem. Možné je používat i vícekanálový zvuk v Dolby Digital AC3, což je zase běžné (ale ne pravidlem) spolu s videem ve vysokém rozlišení H.264.

Samotné kodeky rozebírat nebudeme, protože jsme se jim již věnovali, navíc jde o obecnou problematiku, která se samotným DVB vysíláním nesouvisí.


Způsoby vysílání digitální televize

Všechny kodeky generují na svém výstupu souvislý datový tok, zvaný stream, který je následně vysílán. Na jednom vysílacím kanálu se ale vysílá více stanic najednou, takže je nutné jednotlivé streamy do sebe smíchat. Tomu se říká multiplexování a vzniká tak jeden multiplex. Multiplexování je jednoduchá operace, kdy se jednotlivé streamy navzájem časově střídají. Multiplex je opět jen další stream, který musí mít pro vysílání konstantní datový tok.

Kodeky ale používají variabilní datový tok, množství dat se tedy mění. Celý výsledek ovšem musí mít konstantní datový tok, čehož se dosahuje tak, že komprese obrazu a zvuku probíhá pro všechny stanice najednou a řídí se tak, že jejich součet toků je konstantní. Přidělování vyššího nebo nižšího toku se děje podle požadavků na kódování a dosahované kvantizace. Nelze říci, že by se dařilo dosáhnout ideálního rozložení datových toků, tak variabilní celý systém není, ale vždy se dosahuje o něco nižšího celkového toku a zbytek je doplněn prázdnými daty, která nenesou žádnou informaci.

Výsledný stream je tzv. Packetized Elementary Stream (PES - paketovaný elementární datový tok), který definuje rozdělení streamu na pakety (rámce), tedy datové části určité velikosti. V těch najdeme video, zvuk a další informace jako teletext apod. Paket může mít maximální velikost 65536 bytů. Na jeho začátku jsou tři byty hlavičky, jeden byte identifikace rámce PID (Packet Identification Number), což je jeho typ a číslo programu, a dva byty označující jeho délku.


Struktura paketu PES

Dále následují speciální data PES rámce, kde najdeme jednak informaci o tom, zda jsou data scramblována, prioritu, zda obsahuje CRC a také časové značky PTS a DTS, které určují čas zobrazení a dekódování paketu. Ty jsou nutné pro správné časové sladění videa a zvuku a jejich napojování.

Pro přenos zarušenou cestou je ale taková velikost rámce nevhodná, takže se PES paket rozdělí do částí a vznikne Transport Stream (TS - transportní datový tok). Jeden jeho paket má velikost 188 bytů, z nichž první byte je synchronizační a další tři nesou informace o streamu.

Rozdělení se provede jednoduše rozřezáním a vložením do datové části TS rámce, přičemž hlavička PES rámce musí vždy začínat hned po úvodních čtyřech bytech TS paketu. její přítomnost označuje PUSI (Payload Unit Start Indicator). Další informace jsou TEI (Transport Error Indicator), který značí neopravitelnou chybu při přenosu, TP označuje prioritu přenosu rámce při vytížené lince (to ale v DVB nehrozí), PID je stejné jako PID v PES paketu a TSC (Transport Scrambling Control) označuje scramblování programu. AFC pak říká, zda je v datech ještě adaptační pole s dalšími informacemi a CC je čítač, kterým lze zjistit vypadnutí paketu při přenosu.


Struktura paketu TS

Pro správné dekódování se přenáší adaptační pole v TS paketu jednou za 0,1 sekundy a z něho se získá Programme Clock Reference (PCR), tedy synchronizace, kterou se řídí celé časování přijímače - dekodéru i D/A převodníků, generujících obraz a zvuk. K tomuto času se vztahují také časové značky PTS a DTS z elementárního PES streamu. Tato informace je zásadní pro správnou synchronizaci a samotný PES stream tedy pro správné dekódování a synchronizaci nestačí.

Pro správnou funkci a nastavení přijímače je nutné mu sdělit spoustu informací, které mu umožní se orientovat v přijímaných rámcích a datech. To se děje přes různé typy vysílaných tabulek, které se identifikují pomocí PID rámce a čísla ID tabulky. Tabulka je vlastně jen seznam informací a definuje hlavně její strukturu. Rozdělují se do dvou typů. Prvními jsou PSI (Program Service Information), které informují o vysílaných programech a streamech obsažených (video, zvuk a další). Tyto tabulky jsou pro správnou funkci nezbytné a vysílají se jednou za 0,1 sekundy, aby byly vždy okamžitě k dispozici. Druhým typem jsou tabulky SI (Service Information), které nesou doplňující informace jako název programů, čas, EPG atd. Tyto tabulky se mohou vysílat v podstatě libovolně často, někdy to může být i v intervalu desítek sekund a podle mých zkušeností i v řádech minut.

Nejdůležitější tabulkou je PAT (Program Association Table) s číslem 0, která nese informaci o vysílaných programech - tedy číslech PID těchto programů. Druhou nejdůležitější je asi PMT (Program Map Table), která definuje obsažené streamy videa a zvuku a jejich číslo, dále NIT s informacemi o provozovateli multiplexu a CAT s informacemi o použitém scramblování.


ZkratkaNázevPID
(13 bitů)
Table ID
(8 bitů)
Popis
PATProgram Association Table000000seznam vysílaných programů a jejich PID
CATConditional Access Table000101typ scrambování a PID těchto programů
TSDTTransport Stream Description Table000268indikuje kompatibilitu s MPEG TS streamem a jeho typ (nastaven jako "DVB")
PMTProgram Map Table0020-1FFE02definuje vysílané video, audio, titulky a teletext streamy
NITNetwork Information Table001040-41informace o provozovateli sítě a kmitočtu
SDTService Description Table001142,46informace o službě včetně názvu
BATBouquet Association Table00114Apro seskupení služeb do skupin
EITEvent Information Table00124E-6Finformace o vysílaných pořadech, EPG, tabulka 4E povinná s informacemi o právě vysílaném a následujícm pořadu vysílaná minimálně jednou za 1 sekundu
RSTRunning Status Table001371doplňující informace k EIT o změnách ve vysílaných pořadech a posunech pořadů
TDTTime and Date Table001470informace o aktuálním čase v UTC
TOTTime Offset Table001473informace o aktuálním čase v UTC a časovém pásmu
STStuffing Table0010-001F72pro řízení vysílání tabulek, slouží pro znehodnocení tabulek, pokud je jedna podtabulka přepsána

Ve skutečnosti ale ne všechny tabulky jsou vysílány a také ne vždy správně. Například některé hodnoty (např. NIT) mají být identické, což nemusí být vždy splněno. Často jsou ve vysílaných tabulkách i chyby, s kterými si přijímač nemusí poradit. Například informace v EIT jsou vázány na číslo ONID, PID a SID, což nemusí být vždy splněno (také přijímače často například ONID ignorují). Kompletní popis tabulek najdete v normě ETSI EN 300 468.

Na vysílané straně se tedy vytvoří jeden transportní stream TS (nuly a jedničky), obsahující všechny programy a také další informace včetně všech tabulek, a ten je dále předán k vysílání.