Výsledky výzkumu a další informace nejen
z oblasti přístupových telekomunikačních sítí.
Access server ISSN 1214-9675
Server vznikl za podpory Grantové agentury ČR.
15. ročník
Dnešní datum: 23. 10. 2017  Hlavní stránka | Seznam rubrik | Ke stažení | Odkazy  

Doporučujeme
Knihu o FTTx

Matlab server - on-line výpočty a simulace

E-learning - on-line kurzy

Trainingpoint - školení z oblasti TELCO a ICT

Kontakt
KTT FEL ČVUT
Napište nám

Redakční rada - pokyny pro autory a recenzenty

Copyright

Bezpečnost

* Odolnost kodeků MPEG-2 a H.264 proti chybám při přenosu

Vydáno dne 30. 01. 2009 (5122 přečtení)

V tomto článku se zabýváme testováním kodeků MPEG-2 a H.264 z hlediska odolnosti proti bitovým chybám. Datový tok je testován ve své nechráněné podobě což simuluje například příjem digitálního televizního vysílaní v celé šířce běžných mezí chybovosti nebo významněji poškozený nosič video signálu.


Transmission Error Ressillience of MPEG-2 and H.264 Codecs - Abstract

In this article we present the results of tests we did on MPEG-2 and H.264 codecs in order to measure their error ressillience.The data flow is being tested in its raw unprotected form which simulates reception of DVB-T in the entire range of reasonable bit-error ratios or severly damaged media.

Keywords: MPEG; video codec; DVB


Úvod

V dnešní době jsou již prakticky všechny obrazové signály zaznamenávány a přenášeny v digitální formě. Úkolem zdrojového kodéru je najít a odstranit ze vstupního video signálu co nejvíce redundancí a tím snížit potřebnou šířku pásma pro přenos nebo potřebnou kapacitu pro uložení. Samozrejmým předpokladem je bezchybný přenosový kanál nebo médium.

Toho samozřejmě nelze v praxi dosáhnout a tak se do přenosového řetězce vkládá ještě kanálový kodér, který naopak redundanci přidává a pomáhá tak ochránit uživatelská data před chybami vyniklými při přenosu a zpracování. Robustnost takové ochrany je nutno vhodně dimenzovat. V některých případech je ale rozpětí chybovosti tak široké, že není možné určit "jedinou správnou" míru přidané redundance pro spolehlivé a bezchybné obnovení původní informace. Konkrétně, například v případě digitálního pozemního televizního vysílaní se v závislosti na přijímacích podmínkách může kanálová chybovost měnit od 10e-2 do 10e-9 a chybovost po opravě od 10e-4 do 10e-9 (oblast dostupnosti obrazu).

Zvolené hodnoty ochranných kódů tak poskytují ochranu jen do určité úrovně chybovosti kanálu. Nárust chybovosti kanálu nad tuto hranici způsobí to, že zdrojový signál opět začne vykazovat chybovost. Použitím ochranného kódu tedy můžeme virtuálně snížit chybovost kanálu, ale vždy na úkor přenosové rychlosti.

Na první pohled nesmyslné testování čistě zakódovaného signálu bez ochranného kódu proto má smysl a představuje například situace příjmu digitální televize ve velmi špatných podmínkách nebo významněji poškozený nosič video signálu (VCD, DVD, ...).

Použité kodeky

Testované kodeky jsou standardem v oblasti zdrojového kódování video signálu. MPEG-2 [1] je používán například v DVB-T (digitální pozemní televizní vysílání) nebo na nosičích DVD. Kodek H.264 [2][3], někdy též označován jako MPEG-4 Part 10 nebo AVC, je jeho nástupcem a používá pokročilejší kompresní techniky, které vedou k dalšímu snížení potřebného bitového toku. Tento kodek je použit například ve standardu DVB-T2 nebo na discích Blu-ray.

Zjednodušený princip kódovani videa

Při kódování podle MPEG-2 se obraz nejprve rozloží z RGB barevného prostoru na jasovou (luma) a barevné (chroma) složky. Vzhledem k menší citlivosti lidského zraku na barvy se volitelně barevný kanál podvzorkuje. Následuje rozdělení jednotlivých snímků na makrobloky. To je základní operační jednotka pro všechny následující operace.

Následuje fáze odstranění redundance. Redundance může být jednak prostorová, tedy v rámci jediného snímku, anebo časová, tedy podobnost částí po sobě následujících snímků. Odstranění redundance je realizováno pomocí predikce. Je jasné, že pro první snímek může být použita pouze prostorová (intra) predikce, zatímco makrobloky ostatních snímků se již mohou odkazovat na makrobloky z předchozích snímků (inter predikce). Mezisnímková predikce přináší největší míru komprese, ale občas je vhodné vynutit intra predikci, aby se zamezilo šíření možné chyby do nekonečna.

Po predikci zbývá zakódovat rozdíl mezi predikovaným a skutečným signálem. Využit je známý princip převodu z prostorové do frekvenční domény pomocí DCT (diskrétní kosinová transformace), následná redukce méně důležitých složek pomocí kvantizační matice.

Posledním krokem je efektivní kódování získaných dat (DPCM kódování rozdílového signálu s vkládanou referencí) a metadat (informace o použité predikci, pohybové vektory, ...) pomocí aritmetického kódování.

Chybový kanál

Pro správnou funkci dekodéru je nutné, aby byla struktura dat nepoškozená přenosem. Jeden poškozený bit můze vést, a často vede, k chybné interpretaci následujících dat a tím k jejich znehodnocení (i když kanálem prošly bezchybně), čímž se efektivně zvyšuje zdánlivá chybovost kanálu. I jediný chybný bit tedy může způsobit chybu ovlivňující několik makrobloků.

Testovací prostředí a metodika výpočtu

Pro kodek H.264 byla použita open-source knihovna x264 [4]. Jedná se o poměrně novou implementaci, ale přesto jsou výsledky kódování i dekódování bezchybné a kvalitní. Jako kodér i dekodér kodeku MPEG-2 byla použita výborná a časem dokonale odladěná open-source sada nástrojů FFmpeg [5].

Pro simulaci chybového kanálu byl vytvořen jednoduchý program v jazyku C, který mění datový tok tak, aby vykazoval požadovaný BER (bit error ratio). Pro každý přenášený bit bylo funkcí random() ze standardní knihovny C rozhodnuto o jeho možném poškození. Funkce random() pracuje na principu nelineárního aditivního zpětnovazebního generátoru náhodných čísel.

Výsledné objektivní metriky MSE a PSNR byly získávány pomocí programu, vytvořeného v programovacím jazyku Python s použitím modulu PIL (python imaging library) a PP (parallel python). Hodnota MSE pro celou sekvenci byla vypočítána jako průměrná MSE jednotlivých snímků. Hodnota PSNR je spočítana z MSE podle vztahu

odolnost_kodeku_01
(1)

kde MAX představuje maximální možnou hodnotu daného pixelu (v našem případě MAX = 255).

Testovaná sekvence měla rozlišení 640x480 a snímkovou frekvenci 30 fps. Pro každý kodek jsme testovali variantu s bitovým tokem 1000 kbit/s a 500 kbit/s.

Pro každý test byla provedena celá série se stejným nastavením parametru, protože distribuce bitových chyb je náhodná a proto se výsledky liší v závislosti na tom, jakou informaci nesl poškozený bit.

Výsledky měření a jejich interpretace

Série grafů přehledně zobrazuje naměřené výsledky. Vodorovná osa reprezentuje simulovanou chybovost (BER) a na svislé ose je zobrazena hodnota PSNR (v dB). Jedná se o jeden (společný) graf, pokaždé je však zvýrazněna jiná kombinace kodeku a bitového toku.

odolnost_kodeku_02

odolnost_kodeku_03

odolnost_kodeku_04

odolnost_kodeku_05

Je jasně videt, že kodek MPEG-2 je proti bitovým chybám výrazně odolnější než kodek H.264 (to se projeví vyšší hodnotou PSNR). Vzhledem k tomu, že u staršího kodeku MPEG-2 není redundance vyhledávána tak účinně, je pravděpodobnější, že chybný bit ponese informaci o rozdílovém signálu (koeficienty DCT) a chyba se tak projeví pouze poruchou v jednom makrobloku. Dále je vidět, že kodek H.264 je na bitové chyby velmi citlivý a to už při nízkých hodnotách BER. Kodek MPEG-4 AVC má dnes zhruba dvakrát větší účinnost než MPEG-2 a je proto i adekvátně náchylnějsí na bitové chyby.

Dalším zajímavým zjištěním je fakt, že oba kodeky se stávají nepoužitelnými pro hodnoty BER cca. 10-4 a vyšší.

Naměřené hodnoty MSE a PSNR nejsou přímo funkcí BER, protože záleží na tom, který bit byl poškozen. Proto vykazují naměřené hodnoty rozptyl.

V neposlední řadě je nutné všimnout si, že ani u kodeku MPEG-2, ani u H.264 nezáleží na bitovém toku. Varianty 1000 kbit/s i 500 kbit/s vykazují srovnatelné chování při stejné úrovni BER. Míra poškození obrazu tedy není závislá na bitovém toku.

Závěr

V tomto článku jsme se zabývali testováním kodeků MPEG-2 a H.264 z hlediska odolnosti proti bitovým chybám. Ani jeden z těchto kodeků není navržen s vědomím chybového kanálu a proto se v praxi zakódovaný tok vždy doplňuje ochranným kódem. Nastáváji však případy, kdy vzroste úroveň šumu nad kritickou mez a ochranný kód ztrácí schopnost odhalit a opravit všechny chybné bity.

Zjistili jsme, že podle předpokladu kodeky nesnášejí bitové chyby příliš dobře. Mnohem větší problémy má kodek H.264 (oproti kodeku MPEG-2). Proto doporučujeme využít část bitového toku, který nám pokročilejší zdrojová komprese kodeku H.264 ušetřila pro mnohem silnější ochranný kód než pro případ toku MPEG-2.

Dále jsme zjistili, že odolnost proti bitovým chybám nezávisí na bitovém toku, proto se při jeho volbě můžeme řídit pouze požadavkem kvality.

Je však nutné dodat, že obraz komprimovaný pomocí MPEG-4 AVC nevykayuje blokovou strukturu tak jako MPEG-2. Chyby vzniklé v obraze tak nejsou chybné makrobloky, které jsou daleko viditelnějsí. Navíc je vhodné a pro přesné výsledky nutné výsledný dopad poškození hodnotit subjektivními metodami. Metriky MSE a PSNR se subjektivním dojmem korelují jen omezeně. Pro základní přehled o dopadu poškození na výsledný obraz však stačí.

Práce byla podpořena MSM 6840770014 "Research of perspective information and communication technologies" MŠMT České republiky.

Literatura

[1] ISO-IEC 13818: Generic coding of moving pictures and associated audio information; Nov. 19394
[2] Richardson. I. E. G. H.264 and MPEG‑4 Video Compression: Video Coding for Next-generation Multimedia, Wiley, Chichester, ISBN 0470848375, 2003.
[3] Schäfer, R. et al. The Emerging H.264/AVC Standard, EBU Techical Review, Jan. 2003
[4] x264 free H.264/AVC encoder and decoder library, http://www.videolan.org/developers/x264.html
[5] FFmpeg cross-platform video coding tools, http://ffmpeg.mplayerhq.hu/



Autor:        R.Podgorný, M.Klíma
Pracoviště: České vysoké učení technické v Praze, FEL

Informační e-mail Vytisknout článek
Projekty a aktuality
01.03.2012: PROJEKT
Výzkum a vývoj nového komunikačního systému s vícekanálovým přístupem a mezivrstvovou spoluprací pro průmyslové aplikace TA02011015

01.01.2012: PROJEKT
Vývoj adaptabilních datových a procesních systémů pro vysokorychlostní, bezpečnou a spolehlivou komunikaci v extrémních podmínkách VG20122014095

09.10.2010: PROJEKT
Výzkum a vývoj datového modulu 10 Gbit/s pro optické a mikrovlnné bezdrátové spoje, FR-TI2/621

09.01.2010: PROJEKT
Sítě s femtobuňkami rozšířené o řízení interference a koordinaci informací pro bezproblémovou konektivitu, FP7-ICT-2009-4 248891

09.11.2008: PROJEKT
Ochrana člověka a techniky před vysokofrekvenčním zářením, FI-IM5/202

20.06.2008: Schválení
Radou pro výzkum a vývoj jako recenzovaný časopis

01.04.2007: PROJEKT
Pokročilá optimalizace návrhu komunikačních systémů pomocí neuronových sítí, GA102/07/1503

01.07.2006: Doplnění sekce pro registrované

12.04.2005: Zavedeno recenzování článků

30.03.2005: Výzkumný záměr
Výzkum perspektivních informačních a komunikačních technologií MSM6840770014

29.11.2004: Přiděleno ISSN

04.11.2004: Spuštění nové podoby Access serveru

18.10.2004: PROJEKT
Optimalizace přenosu dat rychlostí 10 Gbit/s, GA102/04/0773

04.09.2004: PROJEKT
Specifikace kvalitativních kritérií a optimalizace prostředků pro vysokorychlostní přístupové sítě, NPV 1ET300750402

04.06.2004: PROJEKT
Omezující faktory při širokopásmovém přenosu signálu po metalických párech a vzájemná koexistence s dalšími systémy, GA102/03/0434

Web site powered by phpRS PHP Scripting Language MySQL Apache Web Server

NAVRCHOLU.cz

Tento web site byl vytvořen prostřednictvím phpRS - redakčního systému napsaného v PHP jazyce.
Na této stránce použité názvy programových produktů, firem apod. mohou být ochrannými známkami
nebo registrovanými ochrannými známkami příslušných vlastníků.