Rozšíření formátu MPEG pro stereoskopické video. Radim Šoustal



Podobné dokumenty
Základní pojmy. Multimédia. Multimédia a interaktivita

VIDEO DATOVÉ FORMÁTY, JEJICH SPECIFIKACE A MOŽNOSTI VYUŽITÍ SMOLOVÁ BÁRA

Video. Co je to video. Vlastnosti videa. Frame rate. Prokládání

, Brno Připravil: Ing. Jaromír Landa. Postprocessing videa

Datové formáty videa a jejich využití. Tomáš Kvapil, Filip Le Manažerská informatika Multimédia

Komprese dat Obsah. Komprese videa. Radim Farana. Podklady pro výuku. Komprese videa a zvuku. Komprese MPEG. Komprese MP3.

Videosekvence. vznik, úpravy, konverze formátů, zachytávání videa...

Multimediální systémy. 10 Komprese videa, formáty

Digitální učební materiály ve škole, registrační číslo projektu CZ.1.07/1.5.00/

Digitální magnetický záznam obrazového signálu

Počítačová gramotnost II Mgr. Jiří Rozsypal aktualizace


Uživatelský manuál. Format Convert V3.1

1 Přenos: Kodování, formáty dat

Identifikátor materiálu: ICT-1-19

Převody datových formátů

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

DIGITÁLNÍ VIDEO. pokus o poodhalení jeho neskutečné obludnosti (bez jednosměrné jízdenky do blázince)

Multimediální systémy

Charakteristiky zvuk. záznamů

Projektory Acer s technologií 3D. Stručný návod

Kapitola 1: Úvod. 1.1 Obsah balení. 1.2 Požadavky na systém. Česky

Multimediální systémy. 08 Zvuk

Multimediální systémy

Algoritmy komprese dat

Muzea a digitalizace Zvukové a filmové záznamy Národní technické muzeum 24./

Streaming a převod formátů

Inovace a zkvalitnění výuky směřující k rozvoji odborných kompetencí žáků středních škol

Canon Controller. Komunikační protokol. Řídicí jednotka k objektivům Canon EF/EF-S

Zpracování zvuku v prezentacích

Ukládání videa. Datová média Práce se soubory Vlastnosti videa Kontejnery a komprese. Technologické trendy v AV tvorbě, Ukládání videa 2

Digitální video v teorii

Práce s obrazovým materiálem CENTRUM MEDIÁLNÍHO VZDĚLÁVÁNÍ. Akreditované středisko dalšího vzdělávání pedagogických pracovníků

PRÁCE S VIDEEM. Název šablony: III/2-1, Výuka IVT na 2. stupni práce s videem

OSNOVA. 1. Definice zvuku a popis jeho šíření. 2. Rozdělení zvukových záznamů (komprese) 3. Vlastnosti jednotlivých formátů

Hardwarové zpracování obrazu

Protokol S-BUS pro MORSE Popis protokolu

1.1 Seznámení s programy Office

KAPITOLA 13. Formáty videa. V této kapitole: DV (AVI) Formát videa MPEG HDV, High Definition AVCHD Porovnání formátů

Konverze grafických rastrových formátů

Angličtina program k procvičování slovní zásoby

Digitální video, formáty a kódování. Jan Vrzal, verze 0.8

Využití ICT techniky především v uměleckém vzdělávání. Akademie - VOŠ, Gymn. a SOŠUP Světlá nad Sázavou

Digitální optický záznamový standard DVD

Digitální optický záznamový standard DVD

DUM č. 14 v sadě. 31. Inf-7 Technické vybavení počítačů

čtvrtek, 18. března 2010 Digitální zpracování zvuku a videa 1

Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace. Maturitní otázky z předmětu INFORMATIKA A VÝPOČETNÍ TECHNIKA

PROVÁDĚCÍ NAŘÍZENÍ KOMISE (EU) č. 459/2014 ze dne 29. dubna 2014, kterým se mění některá nařízení o zařazení zboží do kombinované nomenklatury

Uživatelský manuál. KNX232e / KNX232e1k

25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE

FPC - Převodník pro čínské čtečky F17 a F18 - podrobný popis služeb a příkazů -

SignEditor 1 - návod k použití

Princip digitalizace vstupních multimediálních dat Klasifikace Zpracování Využití

FORTANNS. 22. února 2010

Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/ Komprese videa

BPC2E_C09 Model komunikačního systému v Matlabu

Hospodářská informatika

Kódování signálu. Problémy při návrhu linkové úrovně. Úvod do počítačových sítí. Linková úroveň

Základy informatiky část 10

POPIS STANDARDU CEN TC278/WG4. Oblast: TTI. Zkrácený název: Zprávy přes CN 3. Norma číslo:

DVD video. Ing. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze

Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV

Obsah. Úvodem 9 Kapitola 1 Jaký počítač a jaký systém? 11. Kapitola 2 Obrázky a fotografie 21

Komunikační protokol

Multimediální systémy. 07 Animace

Multimediální formáty

IIS Media Services. David Gešvindr MSP MCT MCITP

Porovnání kodeků standardu MPEG 4

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Inteligentní řešení kamerového systému

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

TÉMATICKÝ OKRUH Softwarové inženýrství

Projekt C2C. Zpráva o stavu projektu. Sdílení a kolaborace v rámci jednoho virtuálního prostředí

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Cíle. Teoretický úvod

Maturitní témata Školní rok: 2015/2016

Komprese zvuku. Ing. Jan Přichystal, Ph.D. 14. března PEF MZLU v Brně

Manuál k programu KaraokeEditor

Datové formáty videa, jejich specifikace a možnost využití. Petr Halama

POPIS STANDARDU CEN TC278/WG4. 1 z 5. Oblast: TTI. Zkrácený název: Zprávy přes CN 4. Norma číslo:

Obsah. Předmluva 1 1. Potřebné vybavení Z jakých částí se skládá kamera? 11

SADA VY_32_INOVACE_PP1

STŘEDNÍ PRŮMYSLOVÁ ŠKOLA NA PROSEKU. TV, kabelové modemy

Multimediální přehrávač s výstupem VGA/TV, (DigiMedia Player) typ LV234 Katalogové číslo:

MIDAM Verze 1.1. Hlavní okno :

Zásady prezentace CENTRUM MEDIÁLNÍHO VZDĚLÁVÁNÍ. Akreditované středisko dalšího vzdělávání pedagogických pracovníků

Elektronické učebnice popis systému, základních funkcí a jejich cena

5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

Model ver SYSTEM EXCLUSIVE KOMUNIKACE CHD Elektroservis

Quantization of acoustic low level signals. David Bursík, Miroslav Lukeš

Minimální požadavky na přijímací zařízení pro poskytování služeb v sítích DVB-T. Verze 2.05 final ( )

Zobrazovací jednotky a monitory

Videoformáty na internetu Ing. Jakub Vaněk KIT digital Czech a.s. Situation: Q4 09 and 2010 Budget

Monitory a grafické adaptéry

Lekce 8 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Počítačová grafika a vizualizace I

Elektronická technická dokumentace Bc. Lukáš Procházka

Počítačová grafika SZŠ A VOŠZ MERHAUTOVA 15, BRNO

Transkript:

České vysoké učení technické v Praze Fakulta elektrotechnická ČVUT FEL katedra počítačů Bakalářská práce Rozšíření formátu MPEG pro stereoskopické video Radim Šoustal Vedoucí práce: Ing. Berka Roman, Ph.D. Studijní program: Elektrotechnika a informatika strukturovaný bakalářský Obor: Informatika a výpočetní technika květen 2006

ii

Poděkování Rádbychpoděkovalvšem,kteřísepodílelinavznikuaimplementaciavšem,kteřímnevtéto práci podporovali. Děkuji panu Ing. Romanu Berkovi Ph.D., svému vedoucímu práce za podporu a zasvěcení do tajů formátu MPEG, panu Danielu Laubrovi, který mi poskytl videomateriál pro stereoskopii. iii

iv

Prohlášení Prohlašuji, že jsem svou bakalářskou práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu 60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). VPrazedne27.6.2006... v

vi

Abstract This work deals with the principle of storing 3D-video signal into MPEG formats. It describes method for storing fully dimensional video into MPEG-2 format so that it could be used also by players without that do not support stereoscopic formats. One possible variant of player implementation and playing technique for video production is presented here. Implementation part deals with the program for converting standard video MPEG-2 format into stereoscopic format. Results of work and its future elaboration are discussed in the conclusion of the work. Abstrakt Práce pojednává o principu ukládání 3D-video signálu do formátu MPEG 1,2,4. Ukazuje způsob uložení třírozměrného videa do formátu MPEG-2, tak aby mohl byt použit i na přehrávačích, které nepodporují přehrávání stereoskopických formátů. Pro produkci videa je zde uvedena jedna možná varianta implementace přehrávače a způsob přehrávání. Implementační část tvoří program pro převod obyčejného videa ve formátu MPEG-2 do stereoskopického formátu. Zhodnocení práce a její možné rozšíření je uvedeno v diskusi. vii

viii

Obsah Seznam obrázků Seznam tabulek xi xiii 1 Úvod 1 1.1 Stereoskopie..... 1 1.2 MPEG..... 1 1.3 Záměrastrukturapráce..... 1 2 Současný stav 2 2.1 IMAX..... 2 2.1.1 Analogovýsystém IMAX3D.... 2 2.1.2 IMAXSolido.... 2 2.1.3 IMAXSANDDE TM... 2 2.2 Digitálnísystém 3dtv.at.... 3 2.2.1 PrincipSide-by-Side... 3 2.2.2 PrincipDual-stream... 3 3 MPEG-2 4 3.1 Úvod...... 4 3.1.1 Základnípojmy... 5 3.1.2 Použitésymboly..... 5 3.2 Elementárnístreamajehostruktura..... 5 3.2.1 Startovníkódystrukturelementárníhostreamu..... 5 3.2.2 Sequenceheader-sekvenčníhlavička.... 7 3.2.3 ExtensionheaderaUserdataheader.... 7 3.2.4 GroupofPicture(GOP)-sekvencesnímků.... 8 3.2.5 Pictureheader-snímkovástruktura.... 8 3.2.6 PictureData.... 9 3.3 ProgramovýStreamajehostruktura... 10 3.3.1 Startovníkódystrukturprogramovéhostreamu..... 10 3.3.2 Packheader..... 11 3.3.3 Systemheader-Systémováhlavička.... 12 3.3.4 Programstreammap... 12 3.3.5 PESpaket...... 14 3.3.6 PES-prezentačníadekódovacíznačky...... 15 3.3.7 Paddingstream... 16 3.3.8 Programend.... 16 3.4 Programstreamkodéradekodér... 16 4 Rozbor řešení 18 4.1 Výběrzpůsobuukládáníobrazovéhosignálu.... 18 4.1.1 Prokládanýformát-Interlacedvideo.... 18 4.1.2 Side-by-Side,Above-Below... 18 4.1.3 Streaming... 19 5 Implementace 20 5.1 Úvod...... 20 5.2 Použitéprogramy...... 20 ix

5.3 Dekodér... 21 5.4 Kodér.... 22 5.4.1 Scanelementárníhostreamu..... 22 5.4.2 ImplementacePackheaderu..... 23 5.4.3 ImplementacePESstreamu..... 23 6 Testování 25 6.1 VLC..... 25 6.2 Běžnépřehrávače... 25 6.2.1 MPlayer... 25 6.2.2 Xine..... 25 6.2.3 WindowsMediaPlayer.... 26 6.2.4 ClassicMediaPlayer...... 26 6.2.5 Výsledkytestování... 26 6.3 Porovnánísjinouimplementací.... 26 7 Diskuze- problémy do budoucna 28 7.1 Možnostirozšíření.... 28 7.1.1 RozšířeníDemuxkodéru.... 28 7.1.2 Rozšířenípřehrávače...... 28 7.2 CAVE.... 28 7.3 Využitígrafickéakcelerace... 28 8 Závěr 30 9 Použité programy 31 10 Literatura 33 11 Příloha 34 11.1 InstalaceapoužitínástrojeproprácisestereoMPEGem... 34 11.1.1 Instalace... 34 11.1.2 Použití.... 34 11.2 ObsahCD...... 35 11.3 Obrázkovápříloha.... 36 x

Seznam obrázků 2.1 ReklamníplakátnaIMAX3D..... 2 2.2 UkázkaobrazuSide-by-Sidevběžnémpřehrávači;[2]... 3 3.1 Stromzávislostístreamůajejichhlaviček..... 4 3.2 Ukázkamožnéhopořadívelementárnímvideostreamu..... 5 3.3 UkázkauloženíSlicestruktur..... 9 3.4 Pořadí struktur v programovém streamu; v závorkách jsou uvedena čísla kapitol příslušnýchstruktur.... 10 3.5 Rozdílymeziprezentacíadekódovánímsnímkuobrázekz[5].... 16 3.6 Blokovéschémaprogramstreamdekodéru[5]... 17 3.7 Základnístrukturakodéruprogramovéhostreamu[5]... 17 4.1 Prokládanévideoobrazy..... 18 4.2 VideotypuSide-by-Side..... 18 4.3 Principčasovéhomultiplexu-střídánístreamů...... 19 4.4 Principdekódovánívícevideostreamů.... 19 5.1 Vývojovýdiagramimplementovanéhodekodéru...... 21 5.2 Vývojovýdiagramimplementovanéhokodéru... 22 5.3 Ukázkarozdílnéprezentaceotevřenéauzavřenésekvencesnímků...... 23 6.1 Ukázkazobrazenídvouvideostreamů.... 25 6.2 UkázkapřehrávánívClasicMediaPlayer..... 26 11.1 UkázkaGUI..... 34 11.2 UkázkafiltruTrueanaglyf.... 36 11.3 UkázkafiltruproSharp3D... 36 11.4 Ukázkahorizontálníhoprokládání... 37 11.5 UkázkaHalfanaglyfu.... 37 xi

xii

Seznam tabulek 3.1 Startovníkódyproelementárnístream... 6 3.2 StrukturaSequenceheader... 6 3.3 Tabulkahodnotaspectradio poměrstranobrazu.... 7 3.4 Tabulkahodnotframeratecode obnovovacífrekvencezáznamu...... 7 3.5 StrukturahlavičkyGOP... 8 3.6 Částstrukturyhlavičkysnímku... 8 3.7 Startovníkódyproprogramstream...... 10 3.8 Strukturaprogramovéhostreamu... 11 3.9 Strukturasystémovéhlavičky..... 12 3.10 Strukturamapyprogramovéhostreamu... 13 3.11 Tabulkatypůstreamůzpoložkystreamtypezprogramovémapy...... 13 3.12 StrukturaPES-PacketElementarStreamhead...... 14 3.13 HodnotyzpoložkyIdstream..... 14 3.14 PolerozšířeníproPTSaDTS..... 15 3.15 StrukturaPaddingstreamu... 16 6.1 Porovnánívideopřehrávačů... 26 6.2 PorovnánímultiplexníchprogramůproMPEG-2..... 27 xiii

xiv

KAPITOLA 1. ÚVOD 1 1 Úvod V první kapitole jsou vysvětleny hlavní pojmy z oblasti stereoskopie a ukládání videa. Jsou zde vymezeny cíle a obsah této práce. 1.1 Stereoskopie Stereoskopie nebo třírozměrné(3d) zobrazení je technologie schopná ukládání a zobrazení třírozměrné iluze v obraze. Iluze hloubky v obraze je docíleno nepatrnou změnou pohledu na scénu, která se promítá do každého oka zvlášť. Tato metoda byla objevena a patentována fyzikem a vynálezcem Sirem Charlesem Wheatstonem v roce 1832. Wheatstone experimentoval s jednoduchými stereoskopickými obrázky, ještě o několik let dříve než byla vynalezena fotografie.otutotechnologiivpočátkunemělnikdozájem,ažvroce1881jipředstaviloliver Wendell Holmes. Vytvořil přístroj pro stereoskopické zobrazení, který nazval Holmes Stereo Viewer(Holmesův stereo prohlížeč). Zkombinoval technologii stereoskopie s fotografií. Tyto stereogramy byly velmi oblíbené až do 80. let 20. století. 1.2 MPEG MPEG(Moving Picture Experts Group) je jméno rodiny standardů používaných pro kompresi video a audio signálů v digitálním formátu. Velká výhoda formátů MPEG oproti jiným formátům je, že soubory jsou mnohem menší při zachování stejné kvality. MPEGy jsou zahrnuty v normách ISO/IEC JTC1/SC29 WG11. MPEG-1 je prvním zástupcem této rodiny. Byl představen v roce 1988. První standart určený ke kompresi zvuku a obrazu. Později z něho vznikl standard Video CD určený pro distribuci videa na CD. MPEG-2: Zvukový a obrazový standard upravený pro širší účely jako například plošné vysílání televize, satelitní vysílání, streamování videa přes internet nebo ukládání videa na DVD. MPEG-3: Oficiálně nebyl nikdy vydán. Byl navržený pro podporu HDTV(Vysílání ve vysoké kvalitě). Některé jeho části byly začleněny do formátu MPEG-2 MPEG-4: Rozšiřuje formát o takzvané objekty, které umožňují zobrazovat například 3D obsah. Rozšiřuje podporu pro plošné vysílání, podporu pro interaktivní grafické aplikace a interaktivní média(world Wide Web) internet. MPEG-21: Popisuje možný budoucí standard. 1.3 Záměr a struktura práce Cílem této práce je popsat a porovnat současné techniky pro uložení stereoskopického videa. Práce se především zaměřuje na nejrozšířenější formát MPEG-2. Ukládání do formátu MPEG je rozebráno ve 3. kapitole. Analýzou způsobu ukládání videa se zabývá kapitola 4. Výstupem implementační části je program Demux, který je schopen multiplexovat a demultiplexovat programový stream.

2 KAPITOLA 2. SOUČASNÝ STAV 2 Současný stav Kapitola pojednává o současném stavu stereoskopického zobrazování a ukládání obrazu, a to nejen v digitálním formátu. 2.1 IMAX Jedná se o analogový systém. IMAX by se dal přirovnat k vlajkové lodi kinematografie. Jde o jeden z fyzicky největších formátů. Používá 65 mm negativní filmový materiál pro záznam a 70 mm pozitivní filmový materiál pro distribuci kopií. Pyšní se také největší promítací plochou, kterájevimaxtheatrevsydneyamáúctyhodných29,5metrunavýškua36metrůnašířku. Víceo2DIMAXulzenaléztnawebu[1]. 2.1.1 Analogový systém IMAX 3D Jde o stereoskopické řešení, založené na principu polarizační separace obrazů doplňující informaci o binokulárním prostorovém vjemu. Toho je docíleno promítáním odlišných obrazů pro levé a pravé oko. Projekci obstarávají dva projektory IMAX umístěné vedle sebe nebo speciální projektor IMAX GT se dvěma rotory a dvěma optickými drahami nad sebou. Pro stereoskopický efekt je podstatná správná orientace polarizačních filtrů na projekčních objektivech a na speciálních brýlích. v roce 2003 bylo v Praze otevřeno první kino tohoto typu. Obrázek 2.1: Reklamní plakát na IMAX 3D 2.1.2 IMAX Solido IMAX Solido je alternativní verzí IMAX 3D. Pro promítání je použita jen jedna videostopa s dvojnásobnou obnovovací frekvencí. Informace pro pravé a levé oko se střídají. K prohlížení jsou potřeba speciální brýle s elektronickými závěrkami na bázi tekutých krystalů, které se zatmavují a zprůhledňují podle synchronního souběhu s promítaným filmem. 2.1.3 IMAXSANDDE TM SANDDE TM (StereoAnimationDrawingDevice)jetechnologievyvinutáspolečnostíIMAX pro tvorbu 3D animací. Pomocí této technologie byly například vyrobeny filmy Cyberworld 3D a Santa Claus vs. Sněhulák.

KAPITOLA 2. SOUČASNÝ STAV 3 2.2 Digitální systém 3dtv.at Skupina 3dtv.at si vytvořila vlastní stereoskopický systém. Na svých stránkách www.3dtv.at má ke stažení volně šiřitelnou verzi pro přehrávání stereoskopických záznamů a testovací verzi k vytváření stereoskopických záznamů. Je zde i plno testovacích a ukázkových videí. 3dtv.at využívají principů Side-by-Side a Dual-stream k ukládání obrazů viz[6]. 2.2.1 Princip Side-by-Side Side-by-Side je stereoskopický záznam skládající se ze dvou obrazů, které jsou zaznamenány vjednévideostopěatotak,žetytoobrazyjsouumístěnyvedlesebe.(vizobr.2.2)takto uložené stereoskopické video je nezávislé na použitém kodeku, ale je závislé na přehrávači. Při prohlížení v běžném přehrávači jsou vidět vedle sebe oba obrazy, avšak nedosáhneme žádného třírozměrného zobrazení. Speciální přehrávač je konstruován tak, že tyto sekvence od sebe dokáže oddělit a zobrazit na jednotlivých zařízeních zvlášť nebo při aplikaci filtrů vytvořit z obou obrazů anaglyf. Obrázek 2.2: Ukázka obrazu Side-by-Side v běžném přehrávači;[2] 2.2.2 Princip Dual-stream V jednom souboru je více videostop takzvaných streamů. 3dtv.at používá pro tento způsob formát WMV(Windows Media Video). Při přehrávání v běžném přehrávači se promítá jen první videostopa. Při použití speciálního přehrávače lze přehrávat obě stopy zároveň. Zobrazení výstupu a použití filtrů je pak podobné jako v prvním případě. Na webových stránkách je uveden i postup, jak vytvořit stereoskopické video ve formátu WMV.

4 KAPITOLA 3. MPEG-2 3 MPEG-2 3.1 Úvod MPEG-2 je rozdělen do tří vrstev transportní, programová a elementární vrstva. Každá z těchto vrstev zajišťuje MPEGu určité vlastnosti. Nejzákladnější je elementární vrstva. Je stavebním kamenem celého systému, jelikož jsou v ní obsažené veškeré informace o obraze nebo zvuku. Tato vrstva se používá při kódování jen jedné obrazové či zvukové stopy. Struktura elementárního streamu a jeho vlastnosti jsou blíže uvedené v kapitole 3.2 Programová vrstva je postavená na základní elementární vrstvě. Dokáže pojmout a synchronizovat více zvukových a obrazových elementárních streamů. Je určená pro nechybové prostředí, neboť neobsahuje žádně opravné nebo kontrolní informace. Z tohoto důvodu je nevhodná pro širokopásmové a internetové vysílání. Podrobné popsání struktur programového streamu je v kapitole 3.3. Transportní vrstva pracuje nad programovou vrstvou. Je určena pro širokopásmové a internetové vysílání. Rozšiřuje vlastnosti například o programové schéma, možnost kódování programů a další. Pro zabezpečení dat se používá Reed-Solomonův algoritmus, který je také používán pro zabezpečení CD a DVD. Stereoskopické řešení nespadá do Transportní vrstvy, a proto se touto problematikou publikace nezabývá. Transportní vrstva je zde uvedena jen pro ucelení informací. Obrázek 3.1: Strom závislostí streamů a jejich hlaviček

KAPITOLA 3. MPEG-2 5 Na obrázku 3.1 jsou uvedené závislosti struktur a jejich rozdělení do vrstev. U každé struktury je uvedeno číslo kapitoly pro jednodušší orientaci a přehlednost v hlavičkách a streamech MPEGu. Existence transportního streamu a elementárního audio streamu jsou zde jen naznačeny. 3.1.1 Základní pojmy datový tok(bitrate) tok komprimovaných dat dodávaných do dekodéru za jednotku času CRC (Cyclic redundancy Check) kontrolní součet slouží pro kontrolu správnosti dat komprimace zmenšení počtu bitů používaných k prezentaci určitých dat paket struktura skládající se většinou z hlavičky a datové části; v hlavičce jsou uloženy konfigurační informace, v datové části jsou samotná přenášená či ukládaná data stream datový proud, stopa video stream obrazová stopa audio stream zvuková stopa PES stream datový proud paketů elementárního streamu 3.1.2 Použité symboly 0x-- číselná hodnota uvedená v šestnáctkové číselné soustavě [--] číselná hodnota uvedená v binární číselné soustavě 3.2 Elementární stream a jeho struktura Elementární Stream je všeobecný název pro základní strukturu kódovaného obrazu či zvuku nazývaného také jako bit-stream v PES paketech. Příklad obyčejného elementárního streamu je třeba zvukový soubor kódovaný ve formátu mp2(starší formát mp3) nebo MPEG-2 video nedělené do paketů(většinou s koncovkou m2v). Ukázka obrazového elementárního streamu je na obr. 3.2 spolu s čísly kapitol uvedených hlaviček. Znalost konstrukce elementárního streamu je důležitá pro konstrukci a pochopení programového streamu. Vychází se z publikace[7]. Obrázek 3.2: Ukázka možného pořadí v elementárním video streamu 3.2.1 Startovní kódy struktur elementárního streamu Každá MPEG struktura je uvozena určitou startovací sekvencí znaků. V případě, že by se část dat poškodila, je možné se rychle zasynchronizovat na následující startovací sekvenci. Má to výhody i při vyhledávání v souboru. Rovněž lze vytvořit relativně jednoduchý automat, který dokáže přijímat tato data. Startovací sekvence začíná znaky 0x000001XX. Poslední hodnota XX určuje následující strukturu. V tabulce 3.1 jsou vypsány všechny startovní znaky a jejich struktury.

6 KAPITOLA 3. MPEG-2 Název Startovní hodnota Poznámka picture start code 0x00 uvozuje strukturu snímku(3.2.5) slice start code 0x01-0xAF uvozuje část snímku(3.2.6) rezervováno 0xB0 rezervováno pro budoucí využití rezervováno 0xB1 rezervováno pro budoucí využití user data start code 0xB2 informace o streamu(3.2.3) sequence header code 0xB2 uvozuje dekódovací informace(3.2.2) sequence error code 0xB4 uvozuje sekvenční chybové kódy extension start code 0xB5 uvozuje rozšiřující informace pro dekodér rezervováno 0xB6 rezervováno pro budoucí využití sequence end code 0xB7 zakončovací sekvence streamu group start code 0xB8 uvozuje sekvenci obrázků(3.2.4) Tabulka 3.1: Startovní kódy pro elementární stream Položka Počet bitů Poznámka Sequence header startovní kód 32 startovní kód 0x000001B3 horizontal size value 12 určuje šířku snímku v obrazových bodech(pixelech). vertical size value 12 určuje výšku snímku v obrazových bodech aspect radio information 4 informace o poměru stran; hodnota je nepřímo kódovaná viz tabulka 3.3. frame rate code 4 určuje obnovovací frekvenci; tab. 3.4 bit rate value 18 informace o datovém toku streamu. stream bit rate = bit rate value 400[kb/s] marker bit 1 [1] vbv buffer size value 10 určuje délku VBV vyrovnávací paměti constrained parameters flag 1 není přímo specifikován v MPEG-2 normě, bývá hodnoty[0] load intra quantiser matrix 1 kvantizační matice intra quantiser matrix[64] 512 pokud load intra quantiser matrix=1 load non quantiser matrix 1 kvantizační matice non intra quantiser matrix[64] 512 pokud load non quantiser matrix=1 Tabulka 3.2: Struktura Sequence header

KAPITOLA 3. MPEG-2 7 3.2.2 Sequence header- sekvenční hlavička Jedná se o informační strukturu, jejíž celá konstrukce je uvedena v tabulce 3.2. Bývá hned na začátku stopy a udává přehrávači důležité parametry videa(výšku, šířku, poměr stran, obnovovací frekvenci, datový tok,...). Obnovovací frekvence a poměr stran jsou kódovány nepřímo, k jejich dekódování je potřeba dekódovací tabulky. Hodnoty pro obnovovací frekvenci jsouuvedenyvtabulce3.4apropoměrstranvtabulce3.3. Za sekvenční strukturou bývá rozšiřující sekvenční struktura Sequence extension. Hodnota Poměr stran[šířka:výška] 0 nepovolený stav 1 1:1 2 4:3 3 16:9 4 2,21:1 5 rezervovaný pro budoucí využití. 15 rezervovaný pro budoucí využití Tabulka 3.3: Tabulka hodnot aspect radio poměr stran obrazu Hodnota Obnovovací frekvence[snímky/sek.] 0 nepovolený stav 1 24000/1001(23,975) 2 24 3 25 4 30000/1001(29,97) 5 30 6 50 7 60000/1001(59,94) 8 60 9 rezervovaný pro budoucí využití. 15 rezervovaný pro budoucí využití Tabulka 3.4: Tabulka hodnot frame rate code obnovovací frekvence záznamu 3.2.3 Extension header a User data header Extension header- rozšířená sekvenční hlavička obsahuje důležité informace pro dekodér. Je několik variant rozšířených hlaviček. Každá varianta obsahuje jiné informace, které jsou od sebe odděleny startovní sekvencí. User data header slouží pro uložení 8bitového čísla, je specifikována kodérem a je používána pro specifické aplikace. Tyto hlavičky nejsou důležité pro vytváření programového streamu tak není potřeba znát jejich strukturu.

8 KAPITOLA 3. MPEG-2 3.2.4 Group of Picture(GOP)- sekvence snímků Uvozuje sekvenci snímků. V tabulce 3.5 je kompletnígop struktura. Jak název napovídá, nachází se na začátku jedné sekvence obrázků. Délka jedné sekvence není standardem určena, je určena jen jeho struktura. Struktury GOP jsou dvě a jsou definovány hodnotou closed GOP. Takzvaná uzavřená(closed) varianta obsahuje snímky v pořadí IPBBPBBPBB... a otevřená (open) obsahuje snímky v pořadí IBBPBBPBB...(snímky I,P,B jsou blíže vysvětleny v kapitole 3.3.6). Znalost typu snímků je důležitá pro výpočet PTS a DTS viz kapitola 3.3.5. Položka Počet bitů Poznámka Picture header startovní kód 32 startovní kód je 0x000001B8 time code 25 drop frame flag 1 při hodnotě 0 je frekvence zaokrouhlenanaceléčíslo hour 5 (0-23) reference hodin minute 6 (0-59) reference minut marker 1 [1] second 6 (0-59) reference sekund frame 6 (0-59) číslo snímku closed GOP 1 určuje styl prokládání snímků v GOP broken link 1 pro určení predikce B-snímků startovacíkódpictureheader... Tabulka 3.5: Struktura hlavičky GOP 3.2.5 Picture header- snímková struktura Uvozuje začátek snímku. V tabulce 3.6 je uvedena jen důležitá část pro naše řešení. Důležité hodnoty pro vytváření programového streamu jsou picture coding type a temporal reference. Položka Počet bitů Poznámka startovní kód Picture header 32 startovní kód je hodnota 0x00000100 temporal reference 10 číslo snímku picture coding type 3 určení typu snímku I=1, P=2, B=3, D=4 vbv delay 16 je číslo, jak dlouho musí video buffering verifier čekat, než bude obrázek dekódován. Tabulka 3.6: Část struktury hlavičky snímku

KAPITOLA 3. MPEG-2 9 3.2.6 Picture Data Nacházejí se ihned za Snímkovou hlavičkou. Obsahují jen struktury Slice očíslované 0x01-0xAF. Ve Slice strukturách se nacházejí makrobloky, které souvisejí s kompresní metodou MPEGu. Slice struktury jsou očíslovány tak, jak je ukázáno na obrázku 3.3(z důvodu přehlednosti jsou struktury zarovnány). Obrázek 3.3: Ukázka uložení Slice struktur

10 KAPITOLA 3. MPEG-2 3.3 Programový Stream a jeho struktura Programový stream je stream, který je určen pro komunikaci a ukládání dat v rámci jednoho programu. Může obsahovat maximálně 16 obrazových a 16 zvukových stop, toho se hojně využívá ve standardu video DVD při vícejazyčném dabingu. Využití více videostop DVD je méně časté. Nevýhodou programového streamu je, že není zabezpečen proti možným chybám. Program stream může mít konstantní nebo proměnný datový tok stejně jako elementární stream, který je v něm obsažen. Datový tok programového streamu je definován hodnotou mux rate programovým datovým tokem a System Clock Reference(SCR) systémovou časovou referencí. Vychází se z publikace[4]. Obrázek 3.4: Pořadí struktur v programovém streamu; v závorkách jsou uvedena čísla kapitol příslušných struktur 3.3.1 Startovní kódy struktur programového streamu Používá se stejný princip jako v elementárním streamu viz 3.2.1. Startovní kód začíná 0x000001XX. Poslední hodnota tab. 3.7 uvozuje následující strukturu. Název struktury Program end Pack header System header Program Stream Map Private stream 1 Padding stream Private stream 2 MPEG audio stream MPEG video stream ECM Stream EMM Stream ITU-T Rec. H.222.0 ISO/IEC 13522 stream ITU-T Rec. H.222.1 type a ITU-T Rec. H.222.1 type B ITU-T Rec. H.222.1 type C ITU-T Rec. H.222.1 type D ITU-T Rec. H.222.1 type E ancillary stream rezervováno Program Stream Directory Startovní hodnota 0xB9 0xBA 0xBB 0xBC 0xBD 0xBE 0xBF 0xC0 0xDF 0xE0 0xEF 0xF0 0xF1 0xF2 0xF3 0xF4 0xF5 0xF6 0xF7 0xF8 0xF9 0xFA 0xFE 0xFF Tabulka 3.7: Startovní kódy pro program stream

KAPITOLA 3. MPEG-2 11 3.3.2 Pack header Základní struktura programového streamu je obsažena v tabulce 3.8. Obaluje všechny ostatní struktury kromě ukončující struktury End program viz kapitola 3.3.8. Pomocí této struktury se přehrávače orientují v souboru. Položka Počet bitů Poznámka start code 32 hodnota 0x00 0x00 0x01 0xBA marker 2 hodnota 01 SCR 32 30 3 část SCR marker 1 hodnota 1 SCR 29 15 15 část SCR marker 1 hodnota 1 SCR 14 0 15 část SCR marker 1 hodnota 1 SCR extension 10 SCR rozšíření marker 1 hodnota 1 program mux Rate 22 programový tok marker 2 hodnoty 11 rezervováno 5 pro budoucí využití pack stuffing length 3 délka vyplňovacích bytů Tabulka 3.8: Struktura programového streamu Vysvětlení pojmů z tabulky 3.8: SCR System clock reference systémové hodiny jsou počítány s frekvencí 27 MHz, používají se pro synchronizaci streamů. Základní SCR(rovnice 3.3) je rozdělen na dvě části, SCR ascrextension.scrjeděleno300(podobnějakouptsadtskapitola3.3.5)audáno modulo33bitů.výpočetprozákladníscrjevrovnici3.1. SCR extension SCR extension je rozšíření pro přesnější výpočet základní SCR. Je počítán modulo 9 bitů. Výpočet rozšířené část je uveden v rovnici 3.2. t i ječasprogramovéhostreamu SCR zaklad i = systemove hodiny t i %2 33 300 (3.1) SCR ext i = (systemove hodiny t i )%300 (3.2) SCR i = SCR zaklad i 300+SCR ext i (3.3) program mux rate 22 bitové celé číslo, které určuje datový tok program streamu. Hodnota datového toku je udána v jednotkách 50 bytů/sekundu(rovnice 3.4). realny multiplexovy tok = program mux rate 50 [B/s] (3.4) Pack stuffing length tří bitové celé číslo určuje stuffing- vyplňovací byty následovaných za tímto polem. Stuffing byty jsou hodnoty 0xFF. Jsou vkládány kodérem a zahazovány dekodérem.

12 KAPITOLA 3. MPEG-2 Položka Počet bitů Poznámka start code 32 hodnota 0x00 0x00 0x01 0xBB header length 16 délka následující části hlavičky marker 1 [1] rate bound 22 maximální hodnota datového toku marker 1 [1] audio bound 6 počet zvukových stop fixed flag 1 CSPS flag 1 system audio lock flag 1 určuje vztah mezi vzorkovací frekvencí zvuku a systémovými hodinami system vide lock flag 1 určuje vztah mezi obnovovací frekvencí videa a systémovými hodinami marker 1 [1] video bound 5 počet video stop v program streamu packet rate restriction flag 1 rezervováno 7 Pro všechny obsažené streamy- stopy ID streamu 8 hodnota v rozmezí 0xC0-0xEF marker 2 [11] P-STD buffer bound scale 1 slouží pro výpočet velikosti vyrovnávací paměti.pokudjetatohodnota0,násobičje roven128b,je1024b. P-STD buffer size bound 14 druhá část pro výpočet vyrovnávací paměti; vyrovnávací paměť se vypočítá podle vzorce 3.5 Tabulka 3.9: Struktura systémové hlavičky 3.3.3 System header- Systémová hlavička Datová struktura definovaná v tabulce 3.9 obsahuje systémové a souhrnné informace o multiplexovaném toku dat. buffersize=pstdbuffersizebound nasobic(p STDbufferboundscalen) (3.5) 3.3.4 Program stream map Programová mapa popisuje všechny elementární streamy v programovém streamu a jejich vztahy s ostatními. Je nutná pro dynamicky se měnící počet zvukových a obrazových stop ve streamu.

KAPITOLA 3. MPEG-2 13 Položka Počet bitů Poznámka start code 32 0x000001BC length map 16 udává délku následující strukturní části mapy, maximální hodnota tohoto pole je1018bytů current next indicator 1 indikuje, jestli je stream používán rezervováno 2 pro budoucí využití program stream map version 5 inkrementální hodnota od 1 do 32. Pokud se změní mapa program streamu tato hodnota se inkrementuje rezervováno 7 pro budoucí využití marker 1 [1] program stream info length 16 délka informačního bloku Informační blok elementary stream map length 16 délka mapy elementárních streamů pro všechny obsažené streamy stream type 8 identifikuje typ streamu, zda se jedná o video, audio nebo jiný typ. Všechny možnosti jsou uvedeny v tabulce 3.3.4 elementary stream id 8 ID streamu v mapě elementary stream info length 16 informace o streamu Informační blok o streamu CRC 32 kontrolní součet Tabulka 3.10: Struktura mapy programového streamu 0x00 ITU-T ISO/IEC Reserved 0x01 ISO/IEC 11172 Video 0x02 ITU-T Rec. H.262 ISO/IEC 13818-2 Video or ISO/IEC 11172-2 constrained parameter video stream 0x03 ISO/IEC 11172 Audio 0x04 ISO/IEC 13818-3 Audio 0x05 ITU-T Rec. H.222.0 ISO/IEC 13818-1 private sections 0x06 ITU-T Rec. H.222.0 ISO/IEC 13818-1 PES packets containing private data 0x07 ISO/IEC 13522 MHEG 0x08 ITU-T Rec. H.222.0 ISO/IEC 13818-1 Annex a DSM CC 0x09 ITU-T Rec. H.222.1 0x0A ISO/IEC 13818-6 type a 0x0B ISO/IEC 13818-6 type B 0x0C ISO/IEC 13818-6 type C 0x0D ISO/IEC 13818-6 type D 0x0E ISO/IEC 13818-1 auxiliary 0x0F-0x7F ITU-T Rec. H.222.0 ISO/IEC 13818-1 Reserved 0x80-0xFF User Private Tabulka 3.11: Tabulka typů streamů z položky stream type z programové mapy

14 KAPITOLA 3. MPEG-2 3.3.5 PES paket PES stream obsahuje v sobě elementární stream. PES hlavička 3.12 slouží k výčtu informací, které se nacházejí v jeho datové části. Položka Počet bitů Poznámka start code 32 hodnota 0x000001 stream id 8 číslo stopy PES packet length 16 určuje délku pes paketu marker 2 hodnota[1][0] PES scrambling control 2 indikuje scrambling mod, při hodnotě nula se scrambling v obsahu nepoužívá PES priority 1 nastavení priority; prioritní streamy se dekódují přednostně data alignment indicator 1 vysvětleno pod tabulkou copyright 1 stream je chráněn copyrightem original or copy 1 identifikace originálu či kopie PTS DTS flags 2 vysvětleno pod tabulkou ESCR flag 1 indikátor zobrazení pole ESCR; pokud je 0 tak pole ESCR není zobrazeno ESrateflag 1 indikátoresrate;pokudjenastavenona0takpole ES není zobrazeno DSM trick mode flag 1 indikátor trick modu; pokud je nastaveno na 0 tak DSM pole není zobrazeno additional copy info flag 1 indikátor přídavného pole pro informace o kopii; pokud je hodnoty 0, pole není zobrazeno PES CRC flag 1 indikátor pole kontrolního součtu PES extension flag 1 indikátor rozšíření PES hlavičky PES header data length 8 dálka všech rozšiřujících polí v bytech Tabulka 3.12: Struktura PES- Packet Elementar Stream head stream id Identifikace streamů viz tab. 3.13 Hodnota Typ streamu 0xBD Private stream 1 0xBE Padding stream 0xBF Private stream 2 0xC0-0xCF ID zvukového streamu 0XE0-0xEF ID obrazového streamu Obsahuje rozšíření ANO NE NE ANO ANO Tabulka 3.13: Hodnoty z položky Id stream data alignment indicator indikátor zarovnání. Při hodnotě 0 není zarovnání definované. Pokud je indikátorem hodnota 1, tak se bezprostředně za hlavičkou nacházejí synchronizační data. PTSDTSflags Pokudjehodnota[1][0],jevhlavičcedefinovánjenPTS.Přihodnotě[1][1] jsou definovány PTS i DTS, při hodnotě[0][0] hlavička neobsahuje žádně informace o dekódování a prezentaci. Rozšíření PES paketu je definováno v tabulce 3.14

KAPITOLA 3. MPEG-2 15 Název Počet bitů Poznámka marker 2 [0][0] id field 2 identifikuje pole pro samotné pole PTS =[1][0] pole PTS&DTS-PTS=[1][1] pole PTS&DTS-DTS=[0][1] marker 1 [1] PTS DTS 32-30 3 marker 1 [1] PTS DTS 29-15 15 marker 1 [1] PTS DTS 14-0 15 marker 1 [1] Tabulka3.14:PolerozšířeníproPTSaDTS PTS (presentation time stamp) Prezentační časové značky souvisejí s dekódováním. Je to 33 bitové číslo rozdělená na tři části. Představuje čas, kdy je snímek obsažený PES paketu zobrazen. Blíže jsou rozebrány v kap. 3.3.6. Výpočet prezentačního času je uveden v rovnici 3.6. DTS (decoding time stamp) Dekódovací časová značka souvisí s dekódováním. Je podobně jakopts33bitováarozdělenánatřičásti.představuječas,kdysesnímekobsaženýpes paketu dekódován. Blíže jsou rozebrány v kap. 3.3.6. Výpočet času dekódování je uveden v rovnici 3.7. 3.3.6 PES- prezentační a dekódovací značky Jsoutoznačky,kteréjsouobsaženévPESpaketechaudávají,kdysetatočástbudedekódovat akdysebudeprezentovat.ukázkanaobrázku3.5.výpočethodnotptsadtsjeuveden vrovnicích3.6a3.7. Rozdělení snímků: I-frame (Intraframe) Také se nazývá klíčový snímek. Z uvedených je velikostně největší, protože obsahuje celou informaci o obraze. Snímek je komprimován metodou Join Photographic Experts Group(JPEG). P-frame (Predictive frame) Vychází z předcházejícího snímku a jsou v něm uloženy jen změny v obraze. B-frame (Bi-directional) Vychází z předchozího i následujícího snímku. Má nejmenší velikost z uvedených snímku. D-frame TentotypsnímkujevISOnormáchdefinován,alenepoužíváse.Jeurčenpro budoucí použití.

16 KAPITOLA 3. MPEG-2 system clock reference tp PTS= %2 3 3 (3.6) 300 tp představuje čas zobrazení snímku, system clock reference má hodnotu 27 MHz DTS= system clock reference td 300 %2 3 3 (3.7) td představuje čas dekódování snímku, system clock reference má hodnotu 27 MHz Obrázek 3.5: Rozdíly mezi prezentací a dekódováním snímku obrázek z[5] 3.3.7 Padding stream Stream udržující průměrný datový tok v určitých mezích. Struktura je uvedená v tabulce 3.15. Název Počet bitů Poznámka start code 32 0x000001BE Padding length 16 dálka výplně v bytech payload- výplň 8 0xFF. payload- výplň 8 0xFF Tabulka 3.15: Struktura Padding streamu 3.3.8 Program end Zakončuje program stream. Jeho struktura je 0x000001B9. 3.4 Program stream kodér a dekodér Základní princip program stream dekodéru je ukázán v blokovém schématu na obr. 3.6. Jak již bylo řečeno v úvodu, programový stream se skládá ze dvou vrstev. Programové- řídící a kompresní- elementární. Do dekodéru vstupují obě vrstvy a z dekodéru vystupuje jen kompresníelementární část rozdělená na jednotlivé části audio/video spolu s řídícími signály synchronizace.

KAPITOLA 3. MPEG-2 17 Obrázek 3.6: Blokové schéma program stream dekodéru[5] Obrázek 3.7: Základní struktura kodéru programového streamu[5] Základní princip kodéru programového streamu spočívá v rozdělení elementárního streamu na pakety(balíčky), poté jsou pakety vkládány spolu s řídícími informacemi do programového streamu. Základní blokové schéma dekodéru je zobrazeno na obr. 3.7

18 KAPITOLA 4. ROZBOR ŘEŠENÍ 4 Rozbor řešení 4.1 Výběr způsobu ukládání obrazového signálu V kapitole 2 byly naznačeny některé principy ukládání obrazu. V této části budou rozšířeny a uvedeny jejich výhody a nevýhody. 4.1.1 Prokládaný formát- Interlaced video Tento formát vychází z principu televizního zobrazování, kdy jsou zobrazovány zvlášť liché asudéřádky.obrazprolevéokojezobrazovánvlichýchřádcíchapropravéokovsudých řádcích. Pro demultiplexaci se používají speciální brýle. Obraz není příliš kvalitní, protože obnovovací frekvence pro jedno oko je jen 25 Hz, což je při blikající obrazovce nedostačující. Obraz musí být uložen v málo komprimovaném formátu, aby nedocházelo k prolínání sudých a lichých půlsnímků. Při zobrazení celého snímku je obraz roztřesený. Tato metoda není vhodná pro naše řešení. Obrázek 4.1: Prokládané video obrazy 4.1.2 Side-by-Side,Above-Below Side-by-Side formát již byl zmíněn v kapitole 2.2.1. Jedná se o formát uložený v jednom obrazovém snímku. Ve formátu Side-by-Side jsou uloženy obrazy vedle sebe nebo ve formátu Above-Below pod sebou. Pro uložení v plném formátu mají dvojnásobnou šířku či výšku. Používásetakéi50%formát.Výslednýobrazmápůvodnívelikost,cožznamená,žesezplného formátu zahodily všechny liché nebo sudé řádky, či liché nebo sudé sloupce ve formátu Sideby-Side. 50% formát je spíše přizpůsoben pro zobrazování v prokládaném režimu, při plném zobrazení se musejí chybějící řádky dopočítat. Obrázek 4.2: Video typu Side-by-Side