1/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Speciální přenosy - technologie a jejich uplatnění Miloš Liška CESNET z.s.p.o. SITOLA CESNET Community Forum 2015–06–03 2/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Speciální přenosy Přenosy obrazu s vysokým rozlišením (HD, 2K, 4K, 8K), vysoce kvalitním zvukem a velmi nízkým zpožděním SW UltraGrid HW MVTP-4K 3/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Příklady použití Vědecké vizualizace Medicína ◾ kardiologie, patologie, chirurgie 4/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Příklady použití Výuka ◾ výuka na dálku s vysokým stupněm imerze 5/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Příklady použití Televizní a filmový průmysl ◾ vzdálená produkce a postprodukce ◾ restaurování filmového materiálu Vzdálená konzole BaseLight v CinePostu (Barrandov) 6/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Příklady použití Umění ◾ distribuovaná představení: hudba, tanec, divadlo 7/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Příklady použití Aplikace pro spolupráci na dálku ◾ sdílení a kombinování různých druhů médií ◾ vzdálené ovládání Řada dalších aplikací Ale celé to není jen o velikosti obrazu a jeho rozlišení... 8/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Příklady použití Aplikace s vysokou snímkovou frekvencí ◾ sportovní TV často vymění rozlišení obrazu za temporální rozlišení videa (720p60 vs. 1080p30 nebo 1080i60) ◾ vývoj směrem ke 120 fps ◾ lepší vnímání pohybu Aplikace s velkou barevnou hloubkou ◾ např. 16 b na barevný kanál ◾ aplikace ve filmovém průmyslu nebo v např. v patologii 9/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Několik úvah, než se posuneme dál Co znamená vysoká kvalita přenosů na síti? ◾ Datové toky pro nekomprimované video [Gb/s] Rozlišení 30fps, 8b 60fps, 10b 120fps, 16b HD (1920×1080) 1.5 3.7 12 4K (3840×2160) 6 15 48 8K (7680×4320) 24 60 191 ◾ Sub-sampling barevného prostoru 4:2:2 = 2/3 datového toku 4:1:1 or 4:2:0 - 1/2 datového toku ◾ Některé formáty stále používají synchronizační intervaly (blanking lines and intervals) např. 1080p HD-SDI neznamená ve skutečnosti 1920×1080 ale 2200×1125 bodů 10/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Několik úvah, než se posuneme dál Potřebujeme nekomprimované video? ◾ Ve většině případů samozřejmě ne! lidský zrak má omezené schopnosti pro archivní účely lze použít bezztrátovou kompresi (ta ale poskytuje jen omezené kompresní poměry) ◾ Nízkolatenční aplikace cílem je minimalizovat end-to-end zpoždění při zachování kvality obrazu dostatečná propustnost (de)komprese typicky pouze intra-frame komprese (nebo inter-frame komprese s jednosměrnou predikcí 11/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Několik úvah, než se posuneme dál Co jsou interaktivní aplikace? ◾ Streaming vs. interaktivní aplikace v reálném čase ◾ Typická omezení jsou daná lidským vnímáním zpoždění ITU-T G.115: 150 ms zpoždění jednosměrné audio komunikace přes telefonní linku v případě některých aplikací lze tolerovat 400ms RTT (experimenty se vzdáleným ovládáním robotů na operačních) jiné aplikace jsou mnohem citlivější, např. vzdálené, distribuované koncerty vyžadují <35ms ◾ Otázky synchronizace obrazu a zvuku většina lidí pozná desynchronizaci obrazu a zvuku o 100 ms a více (lip-sync) hudebníci jsou mnohem citlivější 12/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr UltraGrid Technologie ◾ dostupná platforma pro vysoce kvalitní, interaktivní přenosy obrazu a zvuku ◾ postavená na běžně dostupném (herním) HW podpora Linuxu, MacOS X a Windows běžně dostupné karty pro zahytávání obrazu a zvuku běžné grafické karty 10GE síť je výhoda, ale určitě není nutná ◾ co nejnižší zpoždění na běžně dostupném HW ◾ open-source software, BSD (GPL) licence 13/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr UltraGrid Historie vývoje ◾ 2002–2004: ISI EAST (720p) ◾ 2005–now: CESNET (→ 1080i) ◾ 2006–2008: forky v KISTI a i2cat ◾ 2012–now i2cat Milníky ◾ 2002: 720p ◾ 2005: 1080i, multipoint ◾ 2007: CPU komprese, samo-organizující se systémy, optický multicast ◾ 2008: 2K/4K ◾ 2011: GPU komprese ◾ 2012: 8K 14/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr UltraGrid – aktuální stav – video Podporované formáty ◾ SD, HD, 2K ◾ SuperHD a 4K – v dlaždicích nebo nativně ◾ 8K – experimentálně ◾ vícekanálové video (např. 3D HD, 4K) Nekomprimované vs. komprimované ◾ nízkolatenční komprese ◾ GLSL-akcelerované DXT1, DXT5-YCoCg ◾ CUDA-akcelerované JPEG, DXT5-YCoCg ◾ CPU nízkolatenční H.264 - založená na knihovně x264 ◾ další kompresení schémata na CPU založené na knihovně ffmpeg ◾ GPU-akcelerovaný JPEG2000 - dostupný prostřednictvím spin-off Comprimato Systems company 15/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr UltraGrid – aktuální stav – video Video vstupy ◾ akviziční karty: HD/3G/6G-SDI, HDMI, DVI, analog HD and SD SDK výrobců karet: Blackmagic, DeltaCast, BlueFish444 nezávisle na výrobci: Video4Linux2, QuickTime, AVFoundation ◾ screen capture ◾ testcard ◾ soubory na úložištích Video výstupy ◾ přehrávací karty: HD/3G/6G-SDI, HDMI (vč. stereoskopického HDMI 1.4a) ◾ klasicky přes obrazovku PC (OpenGL, SDL) ◾ SAGE (+ SAGE2) ◾ soubory na úložištích ◾ specializované zobrazovací filtry 16/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr UltraGrid – aktuální stav – audio Podporované audio formáty ◾ nejrůznější vzorkovací frekvence, vícekanálové audio ◾ nekomprimované audio, komprimované audio (kodek OPUS) Vstupy/výstupy ◾ symetrické/nesymetrické audio, HD-SDI, HDMI ◾ různá systémová rozhraní vč. JACK ◾ PortAudio, ALSA, CoreAudio, JACK ◾ embedded HD-SDI/HDMI ◾ kanálový mixér/duplikátor Synchronizace audia a videa ◾ záleží na tom, zda je zdroj synchronizovaný ◾ synchronizované při použití HD-SDI a HDMI vstupů ◾ audio je přenášené s co nejnižším zpožděním, pokud se použije samostatná zvuková karta 17/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr GPU-akcelerované komprese Dostupné implementace kompresních schémat ◾ DXT1: CPU (knihovna FastDXT od EVL) ◾ DXT1, DXT5: OpenGL Shader Language (GLSL) ◾ JPEG: NVidia CUDA ◾ DXT5: NVidia CUDA (8K) SAGE stěna s různými kompresemi 18/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Forward Error Correction Low-density Generator Matrix LDGM ◾ CPU a GPU implementace ◾ CPU (s využitím SSE) používáme kvůli režii přenosu CPU↔GPU ◾ packet loss do 10% se dá zvládnout s rozumnou režií ◾ umožňuje přežít až 25% packet loss při použití JPEG komprese Reed-Solomon codes 19/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Požadavky na šířku pásma 20/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Výkon komprese Propustnost implementace kompresních mechanismů v UltraGridu (Intel® Core™ i7-4960X CPU @ 3.6GHz (6 jader), NVIDIA GeForce GTX 960 GPU) Komprese 4K 2K 1080p RTDXT:DXT1 65 Fps 416 Fps 438 Fps RTDXT:DXT5 67 Fps 330 Fps 342 Fps CUDA_DXT 80 Fps 280 Fps 320 Fps JPEG:90 72 Fps 323 Fps 358 Fps H.264 (ffmpeg) 44 Fps 126 Fps 132 Fps 21/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Zpoždění End-to-end zpoždění (od akvizice po přehrávání) v lokální síti ◾ <150 ms pro interaktivitu: ITU-T doporučení G.114 Video ◾ závisí na HW pro akvizici/přehrávání (a kompresi): 1.75–5.5 snímku videa (58–183 ms) ◾ např. cca 2 snímky: BlackMagic Decklink HD Extreme → OpenGL na MacOS X Audio ◾ embedded spolu s videem: synchronizované ◾ nezávislý zdroj/přehrávání: 20 ms nebo méně lze manuálně upravit, tak aby zpoždění audia odpovídalo zpoždění videa 22/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Uživatelem řízené vícebodové přenosy UltraGrid podporuje multicast, ale. . . ◾ jak dostupný/spolehlivý je multicast? Paketové zrcadlo v UltraGridu ◾ ovládané plně uživatelem na aplikační úrovni ◾ uživatelské zpracování: transkódování, individuální úpravy kvality ◾ (téměř) všechny možnosti zpracování obrazu a zvuku jako má UltraGrid Samoorganizující se sít ◾ plánování přenosů s datovým tokem srovnatelným se šířkou pásma síťových linek ◾ CoUniverse framework (http://couniverse.sitola.cz) 23/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr CoUniverse Automatické plánování přenosů na jednotlivých síťových linkách ◾ pro přenosy s datovým tokem srovnatelným se šířkou pásma síťových linek ◾ optimalizace s více kritérii: minimalizace zpoždění, maximalizace kvality, možná další kritéria (např. vyrovnání zpoždění) ◾ různé plánovací algoritmy (constraint-based, mixed integer programming, ant-colony optimization) ◾ parametry přenosů mohou být upraveny podle potřeb aplikace ◾ dokáže pracovat s transkódováním a částečnou znalostí síťové topologie ◾ dokáže pracovat s nepřesnými odhady šířky pásma 24/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Světová prvenství. . . 2005 – Vícebodový nekomprimovaný FullHD přenos ◾ vícebodový přenos pomocí zrcadel paketů Brno Chicago San Diego Baton Rouge C M Y CM MY CY CMY K 25/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Světová prvenství. . . 2007 – Samoorganizující se, vícebodové, (ne)komprimované HD prostředí ◾ s CoUniverse ◾ samoorganizující se, vícebodový distribuovaný setup s přepínáním DXT1 a nekomprimovaných streamů podle dostupné šířky pásma 26/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Světová prvenství. . . 2011 – 4K s GPU-JPEG kompresí ◾ CineGrid Workshop, Prosinec 2011 ◾ vzdálená postprodukce, posouzení/schválení filmového materiálu v reálném čase ◾ Přehrávání na stroji za cca $1.000 ($500 PC + $500 NVIDIA 580GTX) 27/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Světová prvenství. . . 2012 – Vícebodový 8K přenos s GPU-JPEG kompresí ◾ předem renderované video ◾ JPEG → DXT5-YCoCg na jediném stroji ◾ použitelné také jako 16×HD (např. více kamer) 28/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Uživatelé SourceForge stats Distribuce UltraGridu ◾ zdrojové baliíčky, binární distribuce (http://www.ultragrid.cz/, SourceForge) ◾ součást SAGE (http://www.sagecommons.org/) Instalace po světě JISC, Kònic Thtr Barcelona, Artanim Interactive, Hochshulle Bon-Rhein-Sieg, SFJAZZ, University of Nevada Las Vegas, TU Munchen, Arantia Research and Development, NTT, Laboratory of Computer Networks and Architecture Universidade de Sao Paulo, Hospital for Special Surgery, I2Cat, Dogan TV, Rochester Institute of Technology, Digital Film Central, Aalborg University, Polish Public TV, Greyslake Community High School District 127, New World Symphony, NYSERNet, Università Politecnica delle Marche, EVL, PSNC The Arctic University of Norway, Female Laptop Orchestra, Kent State University, Moving Forward Studios, FN Brno, Les Champs Libres, Telekom Malaysia R&D, Harvard School of Engineering and Applied Science, Exploratorium – The Museum of Science, Art and Human Perception, University of Southern California School of Cinematic Arts, NIH, US Dept. Of Health & Human Services, Music CSI High School for International Studies 29/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr UltraGrid – Plány UltraGrid 2.0 produkční podpora 8K nová nízkolatenční kompresní schémata 30/30 Speciální přenosy UltraGrid Výkon a vlastnosti Vícebodové přenosy Závěr Děkuji za pozornost! http://www.ultragrid.cz/